用Gloss解析JSON数据

作者: Magenta_she | 来源:发表于2016-09-02 22:59 被阅读121次

在这篇博客中,你将学会用Gloss来解析JSON数据。项目中的JSON文件包含App Store排行榜上前25个app。
参考博客:
Swift Tutorial: Working with JSON

Swift方式解析JSON数据

用Gloss解析JSON数据

JSON对象映射(JSON Object Mapping)

对象映射(Object Mapping)是指将JSON对象转化成Swift对象。在定义了模型对象和相应的映射规则后,Gloss会为你解析JSON数据。好处在于:

  • 代码简洁
  • 直接操作对象而不是字典和数组
  • 可通过扩展model class来添加新功能

Gloss地址

解析本地JSON数据
  • 定义模型对象
    模型对象必须遵守Decodable协议,这样才能解析JSON数据。

1.新建一个文件TopApps.swift,在里面创建data model。那么<~~表示什么呢?它是编码运算符(Encode Operator),能让Gloss将key为”feed“的值解码。



2.新建文件Feed.swift,在里面定义Feed



3.定义App模型对象,它代表JSON文件中的一个app

上面两个模型对象的属性是可选的,但是这里定义的两个属性都是non-optional的,所以我们需要检查它是否为nil。


  • 使用Gloss
    在playground里,添加以下代码

    在控制台里,你可以看到
    console
解析远程JSON数据

打开DataManage.swift,声明TopAppURL。



从URL加载数据。
用optional binding确保data存在。
将data传到success闭包里。


Gloss底层浅析

刚才用到的<~~其实是Decoder.decode函数的一种运算符。Gloss有很多种解码函数:

  • 普通类型(Decoder.decode)
  • 可解码的model(Decoder.decodeDecodable)
  • 普通数组(Decoder.decode)
  • 可解码model类型的数组(Decoder.decodeDecodableArray)
    等等,这里就不列举了。
    对于Gloss来说,Decodable model这个概念很重要。
    项目地址

相关文章

  • 用Gloss解析JSON数据

    在这篇博客中,你将学会用Gloss来解析JSON数据。项目中的JSON文件包含App Store排行榜上前25个a...

  • 网络整理(三)——数据解析

    数据解析: 1.JSON数据 重点:1.什么是JSON数据.{ } 数据解析: 2.JSON解析 重点:1.JSO...

  • python解析json嵌套json的数据

    解析这种数据可以直接用:json_normalize() 数据: data=[{'state':'Florida'...

  • 关于爬虫的一些解析数据的技巧

    eval解析适用于Python的数据类型 有些数据你咋眼望去以为他是json,其实不是,用json解析会报错,但是...

  • 很好的 JSONModel

    JSON数据---JSONModel解析 JSON数据---JSONModel解析 JSONModel 初始化流程...

  • 网络

    NSURLConnection NSURLSession 普通网络请求 JSON数据解析 JSON序列化 数据解析...

  • Flutter json解析以及模型化

    目前App请求后台数据,后台返回的数据格式主流都是用json,以下是记录 Flutter 解析 json 数据以及...

  • Json 数据解析

    1.Json 数据解析方法: 2.json.dumps 3.json.loads() 注意:字符串里面的内容用“”...

  • IOS开发 JSON数据解析

    本节学习内容: 1.json 数据的定义 2.json 数据的解析方法 3.json数据解析实践 SBJsonPa...

  • Android万能解析Json(一)

    Android万能解析并获取Json数据,所有Json结构一个解决 想要解析Json数据,首先要了解Json数据的...

网友评论

    本文标题:用Gloss解析JSON数据

    本文链接:https://www.haomeiwen.com/subject/bochettx.html