加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 读取,处理Json数据

发布时间:2020-12-14 06:53:27 所属栏目:百科 来源:网络整理
导读:原文:http://www.jb51.cc/article/p-wcethism-qx.html [objc] view plain copy /* { "id":"001", "name":"xyz", "data":["100","220","300","400"] } */ //从一个本地项目资源中读取data.Json文件 var path :String=NSBundle .mainBundle () .pathForResour

原文:http://www.52php.cn/article/p-wcethism-qx.html



[objc] view plain copy
  1. /*
  2. {
  3. "id":"001",
  4. "name":"xyz",
  5. "data":["100","220","300","400"]
  6. }
  7. */
  8. //从一个本地项目资源中读取data.Json文件
  9. varpath:String=NSBundle.mainBundle().pathForResource("data",ofType:"Json")!
  10. varnsUrl=NSURL(fileURLWithPath:path)
  11. nsData:NSData=NSData(contentsOfURL:nsUrl!)!
  12. //读取Json数据
  13. varjson:AnyObject?=NSJSONSerialization.JSONObjectWithData(nsData,0); background-color:inherit">options:NSJSONReadingOptions.allZeros,0); background-color:inherit">error:nil)
  14. //读取普通数据
  15. id:String=json?.objectForKey("id")asString
  16. println(id)
  17. //读取数组类型数据
  18. array:[String]=json?.objectForKey("data")as[String]
  19. println(array.count)

copy
//额外的注意事项
  • ifletname=json?.objectForKey("name"){
  • //在使用iflet语句的时候,swift会自动进行拆包
  • println(name)//=>此处显示的是zyx
  • }
  • //这个则不会自然拆包
  • letname1=json?.objectForKey("name")
  • println(name1)//=>此处显示的是Optional(zyx)

  • copy

    //简单的Json=》文本转换
  • vardict=["id":"002","name":"abc"]
  • varjsonDict=NSJSONSerialization.dataWithJSONObject(dict,0); background-color:inherit">options:NSJSONWritingOptions.allZeros,0); background-color:inherit">error:nil)
  • //直接写入文件
  • jsonDict?.writeToFile("/正确路径/test.json",0); background-color:inherit">atomically:true)
  • //也可以把Json转换为String字符串
  • varstr=NSString(data:jsonDict!,encoding:NSUTF8StringEncoding)

  • [objc] view plain copy
    1. /*
    2. {
    3. }
    4. */
    5. //从一个本地项目资源中读取data.Json文件
    6. ofType:"Json")!
    7. varnsUrl=NSURL(fileURLWithPath:path)
    8. nsData:NSData=NSData(contentsOfURL:nsUrl!)!
    9. //读取Json数据
    10. :nil)
    11. //读取普通数据
    12. id:String=json?.objectForKey("id")asString
    13. id)
    14. //读取数组类型数据
    15. array:[String]=json?.objectForKey("data")as[String]
    16. println(array.count)

    copy
    //额外的注意事项
  • ifletname=json?.objectForKey("name"){
  • //在使用iflet语句的时候,swift会自动进行拆包
  • //=>此处显示的是zyx
  • }
  • //这个则不会自然拆包
  • letname1=json?.objectForKey("name")
  • //=>此处显示的是Optional(zyx)

  • copy

    //简单的Json=》文本转换
  • "name":"abc"]
  • nil)
  • //直接写入文件
  • true)
  • //也可以把Json转换为String字符串
  • encoding:NSUTF8StringEncoding)
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读