Swift 使用SwiftyJSON解析JSON数据

前言:

在iOS里面解析json数据某种程度上并没有Android上面使用JOSN方便。但第三方开源框架诸如SwiftyJSON的到来,尤其是配合Swift5等以上版本,对应用程序而言数据安全性方面有很大的提升。

SPM导入依赖:

https://github.com/SwiftyJSON/SwiftyJSON

使用步骤:

首先先模拟一下JSON数据的获取,这里直接定义。
然后把json数据转换成Data。
接着就使用SwiftyJSON直接把数据解析。需要说明的是,如果没有把解析放在if里面那么解析的数据就是Optional类型。
这里由于定义的是两层json,故for循环里面直接调用解析后的数据[数据下标索引][键].string来获取每个值对。

func paserJSON(){
    // Create test json data.
    var data = "[{\"id\":\"2012001\",\"name\":\"FlyToy\",\"price\":\"100\"},{\"id\":\"2012002\",\"name\":\"FlyBoat\",\"price\":\"200\"},{\"id\":\"2012003\",\"name\":\"MiniBoat\",\"price\":\"300\"},{\"id\":\"2012004\",\"name\":\"House\",\"price\":\"400\"},{\"id\":\"2012005\",\"name\":\"test1\",\"price\":\"500\"},{\"id\":\"2012006\",\"name\":\"test2\",\"price\":\"600\"}]"
    
    // Transfer json into data.
    let jsonData = data.data(using: .utf8)
    
    // Paser json data with SwiftyJSON by JSON().
    let transferData = JSON(jsonData)
    
    // Get data directly.
    var name = transferData[1]["name"].string
    print("------> FUNC: \(name!)")
    
    // Loop data.
    for i in 0..<6 {
        print("------> \(transferData[i]["id"].string!)")
        print("------> \(transferData[i]["name"].string!)")
        print("------> \(transferData[i]["price"].string!)")
        print("\n")
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值