可以使用三種方式,用json接收一個list,方法如下:
1、使用org.json.JSONArray包:專
JSONArrayjson=newJSONArray();
for(Useru:list){
JSONObjectjo=newJSONObject();
jo.put("id",u.getId());
jo.put("title",u.getName());
json.put(jo);
}
2、使用net.sf.json包下JSONArray的靜態方法:屬fromObject(list), 這是網上大多是直接用此方法快捷轉換JSON,但是對於list的要求就是其中的元素是字元串或對象,否則JSON不知道你想要的是什麼數據:
JSONArrayjson=JSONArray.fromObject(list);
3、使用google的gson,將list轉為json字元串:
Gsongson=newGson();
Stringstr=gson.toJson(list);
㈡ java中如何將數據封裝為JSON包
直接輸出就可以了
String jsondata = "{'a':" + a + ",'b':" + b + ",'c':" + c + "}";
如果是字元串就加上單引號,如
String jsondata = "{'a':'" + a + "','b':'" + b + "','c':'" + c + "'}";
如果abc是數組
String jsondata = "{'a':[" + a[0] + "," + a[1] + "," + a[2] + "],'b':...}";
如果abc是對象就相對復雜一點
String jsondata = "{'a':{'a_paramStr':'" + a.paramStr + "','a_pramaInt'}:a.pramaInt},'b':...}";
當然,如果對象的成員變數很多,可以可以通過對象遍歷的方式輸出,還有包含子對象、子子對象的情況
總結如下
格式:{'數據名':數據值}
數據值為數字時,直接輸出
數據值為字元串時,用單引號包含值,'數據值'
數據值為數組時,用中括弧包含,[數據值1,數據值2,...]
數據值為對象時,用大括弧包含,{'成員名1':成員數值1,'成員名2':{'成員2對象的成員1','成員2對象的成員1值'},...}
數據與數據之間用逗號隔開,以上
一句話,如果傳送數據很簡單可以自己輸出;如果很復雜,乖乖用三方json包吧,我真不懂為什麼抗拒別人做的車輪
㈢ 已導入了import org.json.JSONObject包,仍然提示java.lang.ClassNotFoundException錯誤,求幫忙!
JSON lib 所依賴的包沒有追加進工程吧。
像
commons-lang
commons-beanutils
commons-collections
等等 這些。
㈣ JAVA 裡面 JSON 的包有哪些
最常用的是這個
json-lib-2.4-jdk15.jar
也有用這個的,功能比較落後
json.jar
㈤ java 中如何引用json文件
首先你要引入
JSON-lib這個Java類包用於把bean,map和XML轉換成JSON並能夠把JSON轉回成bean和DynaBean。
下載地址:http://json-lib.sourceforge.net/
還要需要的第3方包:
org.apache.commons(3.2以上版本)
org.apache.oro
net.sf.ezmorph(ezmorph-1.0.4.jar)
nu.xom
然後具體例子你可以參考這個網頁
http://www.blogjava.net/xcp/archive/2008/10/31/json2.html
㈥ java怎麼處理json格式數據
json數據:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
json數據:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};