使用json-lib实现javabean与json的互转。
json-lib官方文档:
一般的简单类型的bean,应该不会有什么问题,看官方文档的例子就够了。
当我们把json转换为复杂类型的bean(例如下面的MyBean,里面有List,又嵌套了其他bean)时,
往往会遇到问题。
其实官方文档里有例子和说明,不过不太醒目。
成功转换的关键就在于,调用JSONObject.toBean时,要传入一个classMap,作为转换的提示。
这个classMap中,存放的是json的属性和它对应的类。
例如,下面的例子,json中data是个嵌套类的数组,所以需要传入
classMap,提示
data对应的类是
Persion
-
class Person{
-
private String name;
-
// getters & setters
-
}
-
class MyBean{
-
private String title;
-
private List<Person> data;
-
// getters & setters
-
}
-
-
-
String json = "{'title':'hello','data':[{'name':'Wallace'},{'name':'Grommit'}]}";
-
Map classMap = new HashMap();
-
classMap.put( "data", Person.class );
-
MyBean bean = JSONObject.toBean( JSONObject.fromObject(json), MyBean.class, classMap );
阅读(1354) | 评论(0) | 转发(0) |