Json数据解析

来源:互联网 发布:约瑟夫环 java 数组 编辑:程序博客网 时间:2024/06/04 18:50

1、介绍
JSON简单的数据交换格式,来自于JavaScript对自己的数据进行改进,改进以后变成现在通用的数据交换格式了
网络数据传输的格式都会采用JSON数据格式,开始替代原来xml格式的数据传递
优点:数据传输速度快,解析比较方便。和xml解析相比更加便捷
缺点:显示数据的结构,识别性不如xml,xml查看性比较清晰

2、JSON数据内部只有2种单独的结构
1、JSON对象
比如:{“key”:”value”} JSON对象
特点:外部用大括号括起来,里面元素以键值对进行表示,键值对都要用加上引号,键值对中间以冒号作为间隔,这样的结构称之为一个JSON对象
2、JSON数组
比如:[1,2,3,4] [“1”,”2”,”3”] JSON数组
特点:外部用中括号括起来,里面每个元素之间用逗号隔开,这样的结构称为JSON数组

3、JSON对象内容可以不只是一个键值对,可以是多个
表示方式:{“key”:”value”,”key2”:”value2”},多组键值对之间以逗号隔开就可以了
//如果不加“”,10可以认为是int. 可以认为是float,也可以认为是String,没有限制
//如果有”“,就一定是字符串
比如:{“name”:”zhangsan”,”age”: 10,”id”: 1 }

实例:在javaSE没有自带PULL解析和JSON解析的jar包,自己下载jar包
通过案例,解析的口诀
1.遇到JSON对象key取value
2.遇到JSON数组循环遍历

强化结构:
1.比如(JSON数组中存放多个JSON对象的结构)
[{"name":"zhangsan","age":22},{"name":"lisi","age":35}]
解决的方法:先循环遍历,对获取的JSON对象key取value

2.比如(JSON对象存放对应的JSON数组的结构)
{"num":[1,2,3,4], "char":["a","b","c"]}
解决的方案:先根据JSON对象可以取value,再进行数组的循环遍历

3.比如(JSON对象存放JSON对象的结构)
{"name":"zhangsan","age": 30, "score":{"chinese":95.5,"math": 60.5,"english":99}}
解决方案:先根据JSON对象key取value,在根据获取到的对象key取value

4.比如(JSON数据多层嵌套结构)
{
"teacher":[{"name":"jimmy","age":18},{"name":"steven","age":33}],
"student":[{"name":"yubo"},{"name":"wangshijun"}]
}

0 0