導航:首頁 > 編程語言 > list添加jsonarray

list添加jsonarray

發布時間:2024-05-27 05:15:23

⑴ 從API介面獲取的json數據怎麼存到對象的List集合中

1. 簡單的手動放置 鍵值對 到JSONObject,然後在put到JSONArray對象里
List<Article> al = articleMng.find(f);
System.out.println(al.size());
HttpServletResponse hsr = ServletActionContext.getResponse();
if(null == al){
return ;
}
for(Article a : al){
System.out.println(a.getId()+a.getDescription()+a.getTitle());
}
JSONArray json = new JSONArray();
for(Article a : al){
JSONObject jo = new JSONObject();
jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
json.put(jo);
}
try {
System.out.println(json.toString());
hsr.setCharacterEncoding("UTF-8");
hsr.getWriter().write(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
復制代碼
上述代碼JSONArray是引入的org.json.JSONArray包

而用net.sf.json包下JSONArray的靜態方法:fromObject(list) 這是網上大多是都是直接用此方法快捷轉換JSON,但是對於Hibernate級聯操作關聯的對象,這個方法就會報錯,如果將映射文件中的級聯配置去掉就行了。

另外對於list的要求就是其中的元素是字元串或對象,否則JSON不知道你想要的是什麼數據。

<many-to-one name="cmsent" column="comment_tid" class="com.fcms.cms.entity.CmsComment"
not-null="false" cascade="delete">
但是級聯操作畢竟還是得存在,否則以後數據冗餘、多餘。

解決方法就是:JSONArray subMsgs = JSONArray.fromObject(object, config);

JsonConfig config = new JsonConfig();
config.setJsonPropertyFilter(new PropertyFilter() {
public boolean apply(Object arg0, String arg1, Object arg2) {
if (arg1.equals("article") ||arg1.equals("fans")) {
return true;
} else {
return false;
}
}
});

⑵ 濡備綍閫氳繃java浠g爜灝咼sonArray杞鍖栦負list闆嗗悎

瀹氫箟涓涓鏂扮殑java瀵硅薄錛屽硅薄涓鐨勫瓧孌靛瑰簲JsonArray涓鐨勫瓧孌碉紝濡傛灉宸茬粡鏈夎繖鏍風殑瀵硅薄錛岄偅涔堝氨涓嶇敤瀹氫箟浜嗐傜劧鍚庝嬌鐢╠eviceList = (List<DeviceAddDyn>) jsonArray.toCollection(jsonArray, DeviceAddDyn.class);鍏朵腑DeviceAddDyn鏄鑷宸卞畾涔夌殑綾誨悕錛屽傛灉宸叉湁錛屽彲浠ョ洿鎺ユ浛鎹㈢被鍚嶅嵆鍙銆

⑶ 怎麼把list轉成jsonarray

package no.integrasco.ingentia.news.qaedition;

public class Person {

private String name;

private int age;

public String getName() {

return name;
}

public void setName(String name) {

this.name = name;
}

public int getAge() {

return age;
}

public void setAge(int age) {

this.age = age;
}
}

package no.integrasco.ingentia.news.qaedition;

import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;

public class JsonTest {

/**
* @param args
*/
public static void main(String[] args) {

// 轉換方法1
JSONArray array = JSONArray.fromObject("[{'name':'hehe','age':22}]");
List<Person> list = JSONArray.toList(array, Person.class);// 過時方法
System.out.println(list.get(0).getName());

// 轉換方法2
List<?> list2 = JSONArray.toList(array, new Person(), new JsonConfig());//參數1為要轉換的JSONArray數據,參數2為要轉換的目標數據,即List盛裝的數據
Person person = (Person) list2.get(0);
System.out.println(person.getAge());
}

}

從頁面接收json格式的數據,在java類裡面進行解析

String jsonStr = {"name":"zfj","dd":[{"ddr":"1","encrypt":"2","ff":"1","length":"23","ffe":"editStyled","ill":"1","pkor":"2","name":"zfj","isKey":"2","alias":"ffff"}],"addRelations":[{"type":"2","ld":"zfj","ld":"2"}]};

將此字元串放在ruquest或者其他的變數裡面,傳遞到後台。

如放在reques中:
request.getRequestDispatcher("/geServlet?data="+jsonStr).forward(request,response);

在servlet或java類里這樣接收:
String json = request.ge[size=large][/size]tParameter("data");
JSONObject jsonObject = JSONObject.fromObject(data);
String name = jsonObject.getString(「name」);
......
//對於數組這樣接收用

JSONArray jan = (JSONArray) jsonObject.get("dd");
if(jan!=null||jan.size()!=0){
for(int i=0;i<ja.size();i++){
JSONObject jo = JSONObject.fromObject(ja.get(i));
String ff = jo.getString("ff");
......
}
}

⑷ java中如何用json接收一個list

可以使用三種方式,用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接收一個list

第一種方法 在action類中 聲明一個list集合如:private List list;生成辯高枯getter和setter方法;x0dx0a然後通過方法action的方法給list賦值;然後頁面通過struts2標簽接攜洞受即可;x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a第二種方法 首先 在action類中;private String jsonData;生成getter和念舉setter方法;x0dx0a通過json 驅動包帶的JSONArray json = JSONArray.fromObject(list);轉換成json格式x0dx0asetJsonData(json.toString());x0dx0a在你返回成功跳到的頁面 定義 :$(jsonData);x0dx0a然後通過ajax 接受 就可以了!x0dx0a建議使用第一種方法

⑹ js中如何向json數組添加元素

比如現在抄有一個json對象為jsonObj,需要給這個對象添加新的屬性newParam,同時給newParam賦值為pre。做法如下:

var jsonObj={

'param1':22,

'param2' :33

};

jsonObj. newParam ='pre';

新的屬性添加以後,json對象變成:

var jsonObj={

'param1':22,

'param2' :33,

'newParam':'pre'

};

(6)list添加jsonarray擴展閱讀:

json數據格式:主要由對象 { } 和數組 [ ] 組成:

其中對象包括鍵值對(屬性:屬性值){key: value},value 可為 str,num,list,obj。取值使用 objcet.key。

{key: value, key2:value2,} 鍵:值用冒號分開,對間用,連接。

數組包含元素:num,str,list,objcet 都可以,利用索引訪問 [index],用 . 連接各個值。

閱讀全文

與list添加jsonarray相關的資料

熱點內容
java中文簡繁體轉換工具 瀏覽:157
c好看的登陸界面代碼 瀏覽:622
系統自帶信息非默認程序 瀏覽:668
網站有專利兩個字被罰要多少錢 瀏覽:84
手機儲存文件的路徑 瀏覽:771
三作標需要什麼文件格式 瀏覽:585
該應用與手機中的版本簽名不一致 瀏覽:239
linux文件命名 瀏覽:480
win10如何開游戲模式 瀏覽:622
hacknet創建文件夾 瀏覽:730
什麼語言做app 瀏覽:922
應用數據哪些可清理 瀏覽:976
數據區域下移一行該怎麼辦 瀏覽:679
華為賬號用qq注冊賬號 瀏覽:327
台達plc編程完成怎麼試運行 瀏覽:412
華為b137升級包下載 瀏覽:992
美團發布數據報告去哪裡看 瀏覽:146
js的隱藏div顯示 瀏覽:637
ps教程圖片轉換為粉筆字 瀏覽:816
下載網易雲音樂最新版本 瀏覽:165

友情鏈接