可以使用三种方式,用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"}]};