本文主要是介绍特殊JSON解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一般的与后台交互;都会涉及到接口数据的获取;而这里的数据一般情况就是JSON 了;JSON 解析起来方便;而且数据量也较小一些;所以JSON在接口数据返回中是个很不错的选择。
下面简单说下JSON解析过程中的一些案例:
这里我用到了三方的架包:fastjson-1.1.39.jar 架包 可以在我的博客中找到下载;或者网上找下 很多的;
这里主要就是映射 关系了;这就要求:实体类的名称和 接口的数据的名称一致!这里面用的都是:
ResultDate result ;
result = JSON.parseObject(json, ResultDate.class);//:json :就是返回的数据;ResultDate :就是映射的返回数据的实体类;
A:例如:
{
success:true;
"student": {
"name": "ls",
"sex": "nan"
},
"Btest": [{
"name": "ls1",
"sex": "nan1",
},
{
"name": "ls2",
"sex": "nan2",
}
]
}
类似上面这种的:
Btest 定义就是一个List 的形式了;如:List<Btest_Data> Btest;
在Btest_Data 的实体类定义的就是:name、sex ;两个变量;
student:这个定义的时候 一般就是个数组的样式了;大致和 Btest类似;
B:没有key的JSON;
如:
{
success:true;
"student": [
"ls",
"nan"
],
"Btest": [{
"name": "ls1",
"sex": "nan1",
},
{
"name": "ls2",
"sex": "nan2",
}
]
}
如上面这种的:Btest不变,变化的是:student 这个数据;
那么我们分析student里面的数据是String ;则可以考虑:使用List<String> student;这样获取数据;
list的大小就是数据的大小;通过循环取值就OK了;
没有整理 demo;抱歉; 夜太深了 ;赶紧入睡!!!
(这里只是说了两种,具体分析就好了。)
这篇关于特殊JSON解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!