JSON数据解析和理解

JSON数据解析和理解

  • JSON(JavaScript Object Notation,js对象表达式),是交换文本信息的语法,一种轻量级的文本数据交换格式,网络数据请求到本地的数据格式。

JSON语法规则

  • 数据在名/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON的值

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true或false)
  • 数组(当括号中)
  • 对象(在花括号中)
  • null

JSON的工具

1.Jason:一个应用软件,脸谱,用于查看json数据的格式的,不需要联网
2.ESJsonFormat:插件,将JSON格式的数据转化成OC代码,在多个数据中必不可少的插件,通过ALcatraz即可安装。
3.json.cn:在线解析JSON数据

对于多层JSON数据的理解

  • 对于多层数据需要多个模型的时候,模型的实现部分哪怕没有代码也一定要写上去,模型的类也需要前向引用声明,避免和上一层数据的对象相冲突可以给一个类的名称加前缀,对于多个模型在同一个文件里实现的时候。
  • 多层数据一定要看数据的类型,根据数据的类型来判断如何解析,如果crash在解析的时候可能就是数据参数出了错。
  • 对于属性和类不对应可以利用YYModel来解决。
  • YYModel映射
//返回一个 Dict,将 Model 属性名对映射到 JSON 的 Key。
+ (NSDictionary *)modelCustomPropertyMapper {
    return @{@"name" : @"n",
             @"bookID" : @[@"id",@"ID",@"book_id"]};
}
// 返回容器类中的所需要存放的数据类型 (以 Class 或 Class Name 的形式)。
+ (NSDictionary *)modelContainerPropertyGenericClass {
    return @{@"shadows" : [Shadow class],
             @"borders" : Border.class,
             @"attachments" : @"Attachment" };
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容