java中如何用json接收一个list? java菜鸟求助如何将list数据放入json中??

java\u600e\u4e48\u83b7\u53d6json\u4e2d\u7684list

\u53ef\u4ee5\u4f7f\u7528\u4e09\u79cd\u65b9\u5f0f\uff0c\u7528json\u63a5\u6536\u4e00\u4e2alist\uff0c\u65b9\u6cd5\u5982\u4e0b\uff1a
1\u3001\u4f7f\u7528org.json.JSONArray\u5305\uff1a

JSONArray json = new JSONArray();
for(User u : list){
JSONObject jo = new JSONObject();
jo.put("id", u.getId());
jo.put("title", u.getName());
json.put(jo);
}


2\u3001\u4f7f\u7528net.sf.json\u5305\u4e0bJSONArray\u7684\u9759\u6001\u65b9\u6cd5\uff1afromObject(list)\uff0c \u8fd9\u662f\u7f51\u4e0a\u5927\u591a\u662f\u76f4\u63a5\u7528\u6b64\u65b9\u6cd5\u5feb\u6377\u8f6c\u6362JSON\uff0c\u4f46\u662f\u5bf9\u4e8elist\u7684\u8981\u6c42\u5c31\u662f\u5176\u4e2d\u7684\u5143\u7d20\u662f\u5b57\u7b26\u4e32\u6216\u5bf9\u8c61\uff0c\u5426\u5219JSON\u4e0d\u77e5\u9053\u4f60\u60f3\u8981\u7684\u662f\u4ec0\u4e48\u6570\u636e\uff1a

JSONArray json = JSONArray.fromObject(list)\uff1b


3\u3001\u4f7f\u7528google\u7684gson\uff0c\u5c06list\u8f6c\u4e3ajson\u5b57\u7b26\u4e32\uff1a



Gson gson = new Gson();
String str = gson.toJson(list);

JSONArray resultJson=new JSONArray();
resultJson.add(); //.add()\u53ef\u4ee5\u6dfb\u52a0List\uff0c\u8f6c\u5316\u4e3ajson

可以使用三种方式,用json接收一个list,方法如下:

1、使用org.json.JSONArray包:

JSONArray json = new JSONArray();
   for(User u : list){
       JSONObject jo = new JSONObject();
       jo.put("id", u.getId());
       jo.put("title", u.getName());
       json.put(jo);
   }

2、使用net.sf.json包下JSONArray的静态方法:fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:

JSONArray json = JSONArray.fromObject(list);

3、使用google的gson,将list转为json字符串:

Gson gson = new Gson(); 
String str = gson.toJson(list);


list可以直接传到前台的,用c标签 <c:forEach>标签可以直接得到,但在action中要写该list的有关的get set方法

第一种方法 在action类中 声明一个list集合如:private List list;生成getter和setter方法;
然后通过方法action的方法给list赋值;然后页面通过struts2标签接受即可;
<s:iterator var="ent" value="list">
<s:if test="%{#statu.odd}">
<font color="red"><s:property value="#ent" />
</font>
</s:if>
<s:else>
<s:property value="#ent" />
</s:else>
</s:iterator>

第二种方法 首先 在action类中;private String jsonData;生成getter和setter方法;
通过json 驱动包带的JSONArray json = JSONArray.fromObject(list);转换成json格式
setJsonData(json.toString());
在你返回成功跳到的页面 定义 :$(jsonData);
然后通过ajax 接受 就可以了!
建议使用第一种方法

  • java涓浣曠敤json鎺ユ敹涓涓猯ist?
    绛旓細绗竴绉嶆柟娉 鍦╝ction绫讳腑 澹版槑涓涓猯ist闆嗗悎濡傦細private List list;鐢熸垚getter鍜宻etter鏂规硶锛沑x0d\x0a鐒跺悗閫氳繃鏂规硶action鐨鏂规硶缁檒ist璧嬪硷紱鐒跺悗椤甸潰閫氳繃struts2鏍囩鎺ュ彈鍗冲彲锛沑x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\...
  • java涓浣曠敤json鎺ユ敹涓涓猯ist?
    绛旓細1銆浣跨敤org.json.JSONArray鍖咃細JSONArray json = new JSONArray(); for(User u : list){ JSONObject jo = new JSONObject(); jo.put("id", u.getId()); jo.put("title", u.getName()); json.put(jo); }2銆佷娇鐢╪et.sf.json鍖呬笅JSONArray鐨闈欐佹柟娉曪細fromObject(...
  • java涓浣曠敤json鏍煎紡鍙戦佸苟鎺ュ彈arrayList?
    绛旓細杩欎釜瑕佺敤鍒json鐨jar鍖 json-lib-2.x 锛岀劧鍚鐢↗SONArray瀵硅薄灏佽list 锛屾渶鍚庢妸jsonarray鏀惧叆jsonobject涓皝瑁呮垚json瀵硅薄銆傚綋鐒朵簡 濡傛灉浣犵敤妗嗘灦鐨勮瘽 浜哄鏈夊皝瑁卝son瀵硅薄鐨勬満鍒躲傚師鐢熸乻ervlet灏辫嚜宸鐢╦son鍖呭皝瑁呭憲 缁欐渚嬪瓙缁欎綘鍒氬啓鐨 :
  • 澶氬眰JSON鏁版嵁,java鍚庡彴濡備綍鎺ユ敹
    绛旓細姝ラ濡備笅锛 String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}"; Gson gson = new Gson(); MyObject obj = gson.fromJson(jsonStr,MyObject.class);妗堜緥 package com;import java.util.List;import com.google.gson.Gson;...
  • javajson浼犲弬涓暟涓嶅浐瀹鎬庝箞鎺ユ敹
    绛旓細鍙互浣跨敤鍙彉鍙傛暟鐨勬柟寮忔潵鎺ユ敹鍙傛暟涓嶅浐瀹氱殑JSON鏁版嵁銆傚湪Java涓紝鍙互浣跨敤鍙彉鍙傛暟锛圴arargs锛夌殑鏂瑰紡鏉ユ帴鏀跺弬鏁颁釜鏁颁笉鍥哄畾鐨凧SON鏁版嵁銆備娇鐢ㄥ彲鍙樺弬鏁扮殑鏂规硶闇瑕佸湪鏂规硶鐨勫弬鏁板垪琛ㄤ腑浣跨敤鐪佺暐鍙凤紙...锛夋潵琛ㄧず鍙彉鍙傛暟锛岀劧鍚庡皢JSON鏁版嵁浣滀负鍙彉鍙傛暟鍒涘缓鏂规硶涓嵆鍙傚湪鏂规硶涓紝鍙互浣跨敤绫讳技鍚炲悙閲忕殑鏂瑰紡鏉ヨ闂彲鍙樺弬鏁...
  • java鎬庝箞璇诲彇json鏍煎紡鐨鏁版嵁
    绛旓細java鍙互浣跨敤JSONObject鍜孞SONArray鏉ユ搷浣渏son瀵硅薄鍜宩son鏁扮粍锛屽叿浣撶敤娉曞涓 1:java瀵硅薄涓巎son涓茶浆鎹細java瀵硅薄鈥攋son涓诧細JSONObject JSONStr = JSONObject.fromObject(object);String str = JSONStr.toString();json涓测攋ava瀵硅薄锛欽SONObject jsonObject = JSONObject.fromObject( jsonString );Object pojo ...
  • web鐜涓,servlet濡備綍璁捐java鎺ュ彛鎺ユ敹json,骞跺皢澶勭悊缁撴灉鎸json鏍煎紡...
    绛旓細("userName"); //杩斿洖浠庡墠鍙版帴鍙楃殑鐢ㄦ埛鍚峔x0d\x0aSystem.out.println(name); //杈撳嚭鐢ㄦ埛鍚峔x0d\x0a\x0d\x0ajsonObject.clear(); // 娓呯┖jsonObjec涓殑鏁版嵁\x0d\x0ajsonObject.put("love" , "瓒崇悆"); //灏嗚冻鐞冭祴缁檒ove杩欎釜鍙橀噺鍚峔x0d\x0aout.print(jsonObject); //杩斿洖json鏍煎紡鐨鏁版嵁 ...
  • 鍦java web寮鍙涓庝箞浣跨敤json?
    绛旓細浣跨敤Json璇硶鍒涘缓瀵硅薄 var people = {"name":"jack","sex":"mail"};鍙互閫氳繃杩欑璇硶鍒涘缓json瀵硅薄锛岀敤鈥渰}鈥濇嫭璧锋潵锛岀敤鈥滐紝鈥濋殧寮key锛歷alue 浣跨敤Json璇硶鍒涘缓鏁扮粍 var arr =[value1,value2...];涓涓寘鍚涓猵eople鐨鏁扮粍 peoples = [{"name":"jack","sex":"mail"},"name":"lily","...
  • java鎬庝箞璇诲彇json鏍煎紡鐨鏁版嵁
    绛旓細浣犲ソ锛Java璇诲彇json鏁版嵁鏍煎紡锛屼綘鍙渶瑕浣跨敤JsonStore 绛夌瓑宸ュ叿鍖呭嵆鍙繘琛屼究鎹鐨璇诲彇浜嗐備唬鐮佹瘮杈冪畝鍗曪紝閫氫織鏄撴噦锛屽叿浣揓sonStore鍙互鐧惧害涓涓嬭缁嗕俊鎭
  • java濡備綍鎺ユ敹ajax浼犻鐨刯son绫诲瀷鐨勬暟鎹
    绛旓細鍦java涓new涓涓狹ap瀵硅薄鑾峰彇锛屽 Map<String,String> map = 锛圡ap<String,String>锛塺equest.getParament("json")锛涚劧鍚庤幏鍙杗ame涓猴細map.get("name");濡傛灉json鏁版嵁涓烘暟缁勶細[{name:'寮犱笁'锛宎ge:17},{name:'鏉庡洓',age:20}]鍦╦ava涓璶ew涓涓 List<Map<String,String> maplist = (List<Map<...
  • 扩展阅读:java中json转换成对象 ... java后台接收json数据 ... java中json转string ... minecraft国际版java版 ... java中hashmap ... java如何解析json数据 ... java中string变json ... java json字符串 ... java如何把json转换为对象 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网