标签:.com sdn 速度 分析 系统 浮点 json对象 net key
本篇文章包括以下内容:
- JSON是什么
- JSONObject的解析和存储
- JSONObject的解析和存储(抽象)
- JSONArray的解析和存储
- 模拟周边加油站JSON数据实战
JSON:JavaScript对象表示法(JavaScript Object Notation)
类似XML,比XML更小、更快、更易解析
JSON语法是JavaScript对象表示法语法的子集
JSON值可以是
JSONObject数据是用key-value来存储的,中间使用冒号隔开,外层的花括号表示一个对象
首先创建一个存储数据的Bean类
下面我们使用将服务器获取的JSON数据放进一个JSON对象中,获取其对象中的值
我们会碰到在一个JSON中嵌套有其他JSON对象,而这个嵌套的JSON对象中可以抽象出共同的属性,看例子
这个时候我们就不用创建两个对象了,创建一个对象抽取他们的属性即可
首先创建一个存储数据的Bean类
然后我们解析并存储
通过遍历JSONArray,剩下的跟JSONObject一样,
这里以周边加油站数据为例,其解析步骤有
大家可以尝试一下自己写解析,发现哪里不对时,直接运行程序,系统会自动给你提示哪一行解析出错的
一、分析数据中的成员变量
在JSON中,只有两种语法,JSONObject(花括号内)和JSONArray(方括号内)
- JSONObject:可以理解为一个Map集合,通过get获取value
- JSONArray:可以理解为一个数组,通过循环获取对应的JSONObject
从上面的数据可以发现其中有五个JSON对象,一个JSON数组,从外到里分析
对象1~4:
对象5:在最后面
二、根据分析后的结果,创建对应的对象(按循序从1~5)
在JSONObject中,左边是属性,右边是值
如果右边的值为一个JSONArray,则在对象中使用List< Object>来存储,简单的说就是对象中的List嵌套另一个对象
记住:花括号用对象,方括号用集合
根据上面的分析,创建第一个对象
创建第二个对象
创建第三个对象
创建第四个对象
创建第五个对象
三、解析JSON数据、存储JSON数据
由于数据对象是一层嵌套一层的,这个解析思想跟树的遍历是一个道理,中老年服装从外层->内层->外层,所以我们在解析内层的时候是需要边解析边存储我们的数据
数据的解析和存储
由于我们第四个对象是嵌套在第三个对象数组中的,所以在里面再嵌套一层循环
由于第四个对象是同一性质的属性,所以我们抽象成一个属性为type和price的对象,其key是不确定的,需要自己通过keys遍历来获取value
接着我们输出我们解析的结果
效果图
标签:.com sdn 速度 分析 系统 浮点 json对象 net key
原文地址:https://www.cnblogs.com/zhanglixina/p/9597561.html