
工具:fastjson1.2.9
用其他工具也行,比如json-lib、gson
用法都差不多
先来一段json{
"page": {
"pagenow": "1",
"pagesize": "20"
},
"file": {
"name": "jpg"
},
"catalogs": [
{
"id": "1"
},
{
"id": "2"
}
]
}这个json里面有对象也有数组
JSON—javabean
思路:
先得到JSONObject
然后用getString(key)拿到要解析的JSON片段
然后用JSON.parseObject(要解析的JSON片段,class)得到javabean
String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
JSONObject obj=JSON.parseObject(json);
Page page=JSON.parseObject(obj.getString("page"),Page.class);JSON—List<bean>
思路:
先得到JSONObject
然后用getString(key)拿到要解析的JSON片段
然后用JSON.parseArray(要解析的JSON片段,class)得到List<javabean>
String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
JSONObject obj=JSON.parseObject(json);
List catalogList=JSON.parseArray(obj.getString("catalogs"), Catalog.class);//得到List
Catalog[] catalogArr=catalogList==null?null:catalogList.toArray(new Catalog[0]);//得到Catalog[]注意
1.javabean必须有空参数的构造器
2.javabean的属性要有setter方法
查看原文:http://139.129.55.235/2016/05/31/%e6%8a%8a%e5%a4%8d%e6%9d%82json%e8%a7%a3%e6%9e%90%e6%88%90javabean/