iOS基础 JSON格式

简介: iOS基础 JSON格式

SON是一种轻量级的数据格式,一般用于数据交互。目前JSON的使用非常广泛,绝大多数网络请求都采用了JSON格式。JSON的格式很像Objective-C中的字典和数组,标准JSON格式key必须用双引号包裹起来。

{"name":"九九学院”","site":"www.99ios.com"}


要想从JSON中获取其中的详细数据,则需要对JSON进行解析,即将JSON转换为Objective-C中的数据类型。JSON数据格式与Objective-C对象之间的参照如z所示。


1684475709661.png


参照表


对于JSON数据的解析既可以使用Foundation框架中提供的方法,也可以使用第三方框架。其中苹果官方提供了原生的解析JSON数据的方法——NSJSONSerialization。NSJSONSerialization类中提供了JSON与Objective-C对象之间相互转换的方法。

JSON数据转Objective-C对象,使用的是JSONObjectWithData:options:error:error方法。

+ (nullable id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;


Objective-C对象转JSON数据,使用的是dataWithJSONObject:options:error:方法。

+ (nullable NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;


另外,JSON的解析也可以使用第三方框架,常见的有JSONKit、SBJson等。需要特别说明的是,假如使用AFNeworking处理网络请求,该框架会自动解析JSON类型的网络响应数据。


JSON 和字符串之间的转换


有时候需要在JSON 和字符串之间进行相互转换,例如,在网络编程中,可以使用

字符串转JSON:

- (NSData*)dataUsingEncoding:(NSStringEncoding)encoding;


JSON转字符串:

-(id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding;

NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",str);


目录
相关文章
|
3月前
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
31 0
|
4月前
|
JSON JavaScript 数据格式
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
64 0
|
2月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
29 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
14天前
|
存储 JSON NoSQL
MongoDB的文档存储格式BSON和JSON的区别
MongoDB的文档存储格式BSON和JSON的区别
|
4月前
|
XML JSON Java
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
173 0
|
25天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
2月前
|
JSON fastjson Java
FastJSON操作各种格式的JSON数据
FastJSON处理各种格式的JSON数据
|
2月前
|
JSON C# 数据格式
C# 处理gzip格式的json
C# 处理gzip格式的json
21 0
|
3月前
|
JSON 数据格式
将json格式的数据快速转换为excel,使用在线工具轻松搞定
将json格式的数据快速转换为excel,使用在线工具轻松搞定
143 0
|
3月前
|
JSON 关系型数据库 MySQL
这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
【1月更文挑战第17天】【1月更文挑战第84篇】这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
34 1