• sbjson数据的生成和解析


     

    Json是一种类似XML的数据传输方式。已经是一种普遍使用的网络传输格式。

    以下是我使用json的总结。

    经常会用到json在序列化和反序列。不多说,用例子说明一切。

     

    1.把json数据解析成通用数据的实例:

    id jsonObject = [jsonString JSONValue];

    通过判断jsonObject在类型解析数据。

     

    2.把数据组织成jason数据的实例:

    通过观察json数据的组织方式,可以理解json数据的解析方式。

    {"age":30,"name":"xcode","num":["first","second","third"]}             //json 数据

     

        NSMutableDictionary *jsonDic = [NSMutableDictionarydictionaryWithCapacity:4];

        NSNumber *age = [NSNumber numberWithInt:30];

        NSArray *aArray = [NSArray arrayWithObjects:@"first", @"second", @"third", nil];

        [jsonDic setObject:@"xcode" forKey:@"name"];

        [jsonDic setObject:age forKey:@"age"];

        [jsonDic setObject:aArray forKey:@"num"];

        

        SBJsonWriter *jsonWriter = [[SBJsonWriter alloc] init];

        NSString *jsonStr = [jsonWriter stringWithObject:jsonDic];

        NSData *jsonData = [jsonWriter dataWithObject:jsonDic];

     

     注:json内容被SBJson转换为Objective-C的类型的方式如下:

    Null -> NSNull
    String -> NSMutableString
    Array -> NSMutableArray
    Object -> NSMutableDictionary
    Boolean -> NSNumber
    Number -> NSDecimalNumber

    重要:  上面的转换指向,可以直观地这样理解:

    {"age":30,"name":"xcode","num":["first","second","third"]}    

    30 是number   转换后会变成NSDecimalNumber    

    xcode 是String  转换后会变成NSMutableString    

    ["first","second","third"] 是Array  转换后会变成 NSMutableArray     即 key  "num" 对应的对象就是一个数组。而这个数据就包含了上面的内容。

  • 相关阅读:
    java web 开发 IDE 下载地址
    【转】简述TCP的三次握手过程
    【转】TCP、UDP数据包大小的限制
    复习笔记2018.8.3
    .NET和UNITY版本问题
    LUA全总结
    C++全总结
    C# 全总结
    #region 常量和静态变量静态类readonly
    //todo 的用处
  • 原文地址:https://www.cnblogs.com/ygm900/p/3081579.html
Copyright © 2020-2023  润新知