JSON与JAVA数据的相互转换.docxVIP

  • 0
  • 0
  • 约1.97千字
  • 约 2页
  • 2023-05-12 发布于湖北
  • 举报
一、将任意的 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); ListT2 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()); } ListString 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:java.lang.String to bean of class T3 2010-5-1 0:41:50 net.sf.json.JSONObject toBean 警告: Tried to assign property bbb:java.lang.String to bean of class T3 testAAA 2010-5-1 0:41:50 net.sf.json.JSONObject toBean 警告: Tried to assign property bbb:java.lang.String to bean of class T3 testAAA 2010-5-1 0:41:50 net.sf.json.JSONObject toBean 警告: Tried to assign property bbb:java.lang.String to bean of class T3 testAAA 2010-5-1 0:41:50 net.sf.json.JSONObject toBean 警告: Tried to assign property bbb:java.lang.String to bean of class T3 testAAA 中华人民共和国中华人民共和国中华人民共和国

文档评论(0)

1亿VIP精品文档

相关文档