JSON与JAVA数据的相互转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、将任意的javaBean对象转换为json字符串:

Object obj=XXX;//任意一个javabean的对象都可以,但是这个javaBean必须是公开的,否则会报找不到get方法。

JSONObject jo=JSONObject.fromObject(obj);

System.out.println(jo.toString());

如果你的obj知道具体类型的话,还[可以使用JSONArray等对象来转换。其方法也类似。

二、将json字符串转换为javaBean对象:

String str="json字符串对象";

JSONObject jo=JSONObject.fromObject(obj);

T t=(T)JSONObject.toBean(jo,T.class);

XXXX

实例:

简单的测试代码:

import java.util.List;

import net.sf.json.JSONObject;

public class Test {

public static void main(String[] args) throws Exception {

JSONObject jo = JSONObject.fromObject(new T());

String str = (jo.toString());

System.out.println(str);

JSONObject jo2 = JSONObject.fromObject(str);

T t = (T) JSONObject.toBean(jo2, T.class);

List lists2 = (t.getTest2());

for (Object t2 : lists2) {//这里的Object如果直接写成T2的话,会出错的,原因是JSON 转换后的lists2对象因为它不知道类型,就解析成JSON里的某种格式了,我们需要再调用相同的方法将其转成我们所知的JavaBean

System.out.println(((T3) JSONObject.toBean(JSONObject.fromObject(t2), T3.class)).getAaa());

}

List l3 = t.getListString();

for (String s : l3) {

System.out.println(s);

}

}

}

运行结果:

{"test2":[{"aaa":"testAAA","bbb":"testBBB"},{"aaa":"testAAA","bbb":"testBBB"},{"aaa":"testAAA", "bbb":"testBBB"},

{"aaa":"testAAA","bbb":"testBBB"},{"aaa":"testAAA","bbb":"testBBB"}],"age":15,"listString":["中华人民共和国",

"中华人民共和国","中华人民共和国"],"str":"testStr"}

testAAA

2010-5-1 0:41:50 net.sf.json.JSONObject toBean

警告: Tried to assign property bbb:ng.String to bean of class T3

2010-5-1 0:41:50 net.sf.json.JSONObject toBean

警告: Tried to assign property bbb:ng.String to bean of class T3

testAAA

2010-5-1 0:41:50 net.sf.json.JSONObject toBean

警告: Tried to assign property bbb:ng.String to bean of class T3

testAAA

2010-5-1 0:41:50 net.sf.json.JSONObject toBean

警告: Tried to assign property bbb:ng.String to bean of class T3

testAAA

2010-5-1 0:41:50 net.sf.json.JSONObject toBean

警告: Tried to assign property bbb:ng.String to bean of class T3

testAAA

中华人民共和国

中华人民共和国

中华人民共和国

相关文档
最新文档