IOS学习——json转Byte[]转化

    又有一个项目要结束了哈哈哈哈,久违的和师长一起review代码,这一篇是番外篇,来讲一讲OC中的json转化为Byte[]发送的事情。

    这个项目要求要实现iphone与服务器的tcp连接,然后发送json数据。要以Byte[]的形式发送json数据而且前四个字节要保存json数据长度。

    那么我们就来上代码了,首先是OC中的json数据表示

NSDictionary *dictM = @{
                            @"reqtype":@"login",
                            @"password":@"121",
                            @"username":@"an",
                            };
NSData *json = [NSJSONSerialization dataWithJSONObject:dictM options:kNilOptions error:nil];
Byte *jsonbyte = (Byte *)[json bytes];

    这里的过程是先将OC对象转化为json对象进制流,然后转化为Byte数组。当然这里还没完全实现交互需求,接着我们获取长度的Byte[]

    Byte lenByte[4];
    int jsonLen=[json length];
    lenByte[0] =(Byte) ((jsonLen>>24) & 0xFF);
    lenByte[1] =(Byte) ((jsonLen>>16) & 0xFF);
    lenByte[2] =(Byte) ((jsonLen>>8) & 0xFF);
    lenByte[3] =(Byte) (jsonLen & 0xFF);

    最后一步,合并

    Byte result[4+jsonLen];
    for(int i=0;i<4;i++){//前四个字节存储命令长度
        result[i]=lenByte[i];
    }
    for(int i=4;i

    好了,这样我们就得到了所需要的Byte[] result了

    就到这里了,我是菜鸟多多指教,DRW


你可能感兴趣的:(IOS学习)