JSON简介 -- JavaScript Object Notation,只是一种优于XML的数据交换格式,对于iOS而言就是将OC对象转换成JSON对象,将JSON对象转换为OC对象,[JSON可以跨平台,个人只是这样意淫一下]。
iOS开发中常见的数据解析有两种:XML解析、JSON解析。[解析:从规定好的格式串里提取数据,就好比把金融进王水,再从王水里面提取出来]
JSON解析在某些方面正在取代XML解析。XML本身不复杂,用起来也还可以接受,但是规范太让人难受了。
JSON其实就是JavaScript的一个子集,JSON中的数据类型:
number
boolean
string
null
array
object
一个JSON文档有两种结构:对象、数组
对象:以"{"开始,以"}"结束,大括号里面是许多键值对,好比OC里面的Dictionary。
数组:以"["开始,以"]"结束,中间是数据。
以下是一个JSON文档:[-->数据交换、内容管理、配置文件]
[{"name":"wu","age":23},{"name":"zhi","age":22}]
JSON解析
iOS中,JSON常用的有4种解析方案:NSJSONSerialization(性能最好,苹果自带)、JSONKit、SBJSON、TouchJSON(从左至右性能递减)
以下是NSJSONSerialization常用的两个方法:
+ (nullable id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error; JSON转OC对象
+ (nullable NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; OC对象转JSON
在工程里面先配置好JSON文档