美文网首页
如何正确的解析json

如何正确的解析json

作者: 白鹿Divella | 来源:发表于2016-10-19 15:02 被阅读89次

如何正确的解析json


上面的链接是安卓解析json,看了感觉非常好,但是iOS却没找到一篇这么好的文章,于是决定自己研究一下,写一版iOS版本的解析json。

一款软件最重要的一步就是和服务器的交互,也就是解析服务器返回的数据,服务器返回的数据格式一般是json,而不是xml,因为json数据的体积小。然而解析json数据就显得很重要了,让这篇文章解决你的迷惑。

解析方法

解析json的方法很多,比如GSON等等,今天我们就用原始的JSONObject和JSONArray来解析Json数据。

格式一

[

{

"name": "zhangsan",

"age": "10",

"phone": "11111"

},

{

"name": "lisi",

"age": "20",

"phone": "22222"

}

...

]

格式解释

带有[ ]符号的,证明这个是一个数组(Array),带有{}的,是一个Object,可以理解成对象,带有””符号的,是String类型的数据。

解析技巧

[ ]类型的json用JSONArray来解析,{}类型的json用JSONObject来解析,” “类型的数据可直接getString就可以解析。

开始解析

格式二

{

"person": [

{

"name": "zhangsan",

"age": "10",

"phone": "11111"

},

{

"name": "lisi",

"age": "20",

"phone": "22222"

}

]

...

}

格式分析

注意,这个json数据最外层是object,而object内包含的是数组Array,还有一个键,那就是person,数组里有包含了多个object

开始解析

格式三

{

"code": 200,

"msg": "OK",

"person": [

{

"name": "zhangsan",

"age": "10",

"phone": "11111",

"email": "11111@11.com"

},

{

"name": "lisi",

"age": "20",

"phone": "22222",

"email": "22222@22.com"

}

]

...

}

格式分析

这种格式稍微复杂了点,有int类型的,有String类型的,也有object和Array

开始解析

格式四

{

"group": {

"user": {

"name": "张三",

"age": "10",

"phone": "11111",

"email": "11111@11.com"

},

"info": {

"address": "北京",

"work": "Android Dev",

"pay": "10K",

"motto": "先定一个小目标,比如我先赚一个亿"

}

}

}

格式分析

这类json格式比上面的都稍微复杂一点,但是还是不是很复杂,对于一般的都不过是上面的这几种方式,最外层的是object,里面包括的也是object,注意这个里面的object是有键的,键为group,然而group中又包含object,也是含有键的,是不是很刺激,还没有完呢,user中又包含了String,天哪,要疯了,no no,还没有包含Array呢

开始解析

结束语

以上就是解析json数据的大多数情况,根本就不需要什么gson出马呀,也能完全搞定,其实除了解析json数据外,有时候我们还会遇到在给服务器上传数据的时候,服务器要求上传json数据,卧槽,这怎么搞?没事别着急,以后会推送方法的。

相关文章

  • JAVA小记--gson 使用

    Json解析是Server Api通信中常用的方式,如何正确解析json往往带来一些苦难,许久不用java,以前写...

  • 如何正确的解析json

    如何正确的解析json 上面的链接是安卓解析json,看了感觉非常好,但是iOS却没找到一篇这么好的文章,于是决定...

  • 如何用Retrofit解析Json

    网上如何用Retrofit解析json的文章很多,但是很多都比较零散。比如如何解析复杂json格式?json格式里...

  • iOS-解析JSON(二)

    上一篇介绍了JSON以及本地JSON的解析,这一篇主要介绍如何解析从网络上获取的JSON数据 打印结果 JSON数...

  • 多线程网络-5

    Xmind ①发送请求拿到JSON数据后如何序列化(解析) ②如何把OC对象转换为JSON ③JSON数据和OC对...

  • Android开发中如何解析Json

    解析Json 有了请求,自然会有响应,那我们该如何解析服务端响应返回给我们的Json数据呢? 了解什么是Json ...

  • Json解析方式

    1.传统的JSON解析 1.1 生成Json 1.2 解析Json 2.Gson解析Json 2.1生成Json ...

  • 关于webView本地加载网页失败

    json解析正确,intent传值正确,为什么就是不能正确加载网页内呢? 都怪自己没脑子,原封不动的copy文档的...

  • JSON

    JSON解析(反序列化) JSON解析(序列化) JSON解析补充

  • AsyncTask 和 AsyncTaskLoader 的使用

    上一篇 JSON学习 中介绍了 JSON 对象的结构,如何解析 JSON 数据,但是我们的 JSON 数据是本地已...

网友评论

      本文标题:如何正确的解析json

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