日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON与JAVA数据的相互转换(基本应用)

發布時間:2025/3/13 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON与JAVA数据的相互转换(基本应用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?下載json及其依賴包:

jsonXXX.jar:http://sourceforge.net/projects/json-lib/files/

ezmorph-1.0.1.jar http://ezmorph.sourceforge.net/

以下的包都能在apache的官網上下載。
commons-beanutils.jar
commons-httpclient.jar
commons-lang.jar
commons-logging.jar

?

我下載的都是最新版本(最新版的json與其它版本有所不同)

一、將任意的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

?

實例:

三個javabean對象:這三個對象很簡單我就懶得加注釋了。。。

public class T2 { private String aaa = "testAAA"; private String bbb = "testBBB"; public String getAaa() { return this.aaa; } public void setAaa(String aaa) { this.aaa = aaa; } public String getBbb() { return this.bbb; } public void setBbb(String bbb) { this.bbb = bbb; } }

public class T3 { private String aaa = "testAAA"; private String ccc = "testBBB"; public String getAaa() { return this.aaa; } public void setAaa(String aaa) { this.aaa = aaa; } public String getCcc() { return this.ccc; } public void setCcc(String bbb) { this.ccc = bbb; } }

import java.util.ArrayList; import java.util.List; public class T { private String str = "testStr"; private int age = 15; private List<String> listString = new ArrayList<String>(); { this.listString.add("中華人民共和國"); this.listString.add("中華人民共和國"); this.listString.add("中華人民共和國"); } public List<String> getListString() { return this.listString; } public void setListString(List<String> listString) { this.listString = listString; } private List<T2> test2 = new ArrayList<T2>(); { this.test2.add(new T2()); this.test2.add(new T2()); this.test2.add(new T2()); this.test2.add(new T2()); this.test2.add(new T2()); } public String getStr() { return this.str; } public void setStr(String str) { this.str = str; } public int getAge() { return this.age; } public void setAge(int age) { this.age = age; } public List<T2> getTest2() { return this.test2; } public void setTest2(List<T2> test2) { this.test2 = test2; } }

簡單的測試代碼:

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<T2> 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<String> 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
中華人民共和國
中華人民共和國
中華人民共和國

轉載于:https://www.cnblogs.com/liangGe/archive/2010/05/01/2638988.html

總結

以上是生活随笔為你收集整理的JSON与JAVA数据的相互转换(基本应用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。