Swift JSON数据处理

一、Data转JSON对象:

1、原生:

guard let json = try? JSONSerialization.jsonObject(with: response.data, options: []) else {
      return
 }

2、SwiftyJSON:(GitHub地址):

do {
     // data转化为JSON
     let jsonData = try JSON(data: response.data)
     print(jsonData)
 } catch  {
       failClosure("解析失败")
 }

二、JSON对象转Data:

let data = try? JSONSerialization.data(withJSONObject: json, options: [])

三、Data转JSON字符串:

1、原生:

let jsonStr = String(data: response.data, encoding: String.Encoding.utf8)

2、SwiftyJSON:

let jsonStr = JSON(response.data).description

四、JSON字符串转Data:

let data = jsonStr?.data(using: String.Encoding.utf8, allowLossyConversion: false)

五、JSON字符串转JSON对象:

JSON字符串 ----> Data ----> JSON对象

参考地址

上述有写到try和try? ,下面简单说明一下:

1、try 标准异常处理方式,需要结合do catch;

2、try? 表示语句可能发生错误,也可能没有错误,如果发生错误,则返回nil,如果没有错误,会返回一个可选值;

3、try! 表示该语句一定没有错误,如果发生错误,则崩溃处理,一般不建议使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。