本文目錄一覽:
JAVA怎麼取JSON數組裡的值???
需要寫一個方法,把json數據轉換成list集合數據
public static List jsonToBean(String data, Object bean) {
List list = new ArrayList();
try {
JSONArray array;
try {
array = new JSONArray(data);
for (int i = 0; i array.length(); i++) {
Object toBean = getBean(bean);
JSONObject ob = new JSONObject();
ob = (JSONObject) array.get(i);
toBean = jsonStrToBean(ob, toBean);
list.add(toBean);
}
return list;
} catch (JSONException e) {
try {
Object obj = null;
JSONObject jsonObj = new JSONObject(data);
Object toBean = getBean(bean);
toBean = jsonStrToBean(jsonObj, toBean);
list.add(toBean);
return list;
} catch (JSONException e1) {
log.error(“Error covert String to JSONObject”, e);
e1.printStackTrace();
}
e.printStackTrace();
log.error(“Error covert String to JSONArray”, e);
}
} catch (SecurityException e) {
e.printStackTrace();
}
return list;
}
然後取出list集合數據中的值應該沒問題了吧。
Java 關於json取值問題
可以,前台用for循環取就行,先eval(“(” + data + “)”) data.allpic
.a = { “x” : “1”, “y” : “2” } 就是這個對象了
如果是後台直接返回的,不用eval,比如spring mvc用ModelMap返回頁面的話,直接用EL表達式取得ModelMap的key,就能取值,再用 xxx.xxx取其中的屬性值,如果是數組,則循環,再用對象.屬性取值。如有不明,留言,貼你的實際數據出來,與說明一下應用場景,再跟你解釋
json數組在java中得到某列的值
public static void jsonToBean(String data) {
try {
JSONArray array = new JSONArray(data);//將json字符串轉成json數組
for (int i = 0; i array.length(); i++) {//循環json數組
JSONObject ob = (JSONObject) array.get(i);//得到json對象
String name= ob.getString(“name”);//name這裡是列名稱,獲取json對象中列名為name的值
System.out.print(name);//輸出name
} catch (JSONException e) {
}
}
如何java解析json數組
工具/原料
安裝有eclipse軟件的電腦一台
方法/步驟
1
首先我們在eclipse中創建一個java工程,在java工程中創建一個HelloWorld的類,在這個java的入口程序中,我們來創建一個json字符串,並且打印出來,如下圖:
2
將我們剛剛創建的json字符串打印出來如下所示,可以看出這個json包含了一個大json對象,大json對象裏面又包含一個json數組,一個數組裏面又包含三個json對象,如下圖:
3
在java中我們要解析json數組必須藉助第三方包,所以這裡我們加載一下第三方包,首先我們將鼠標移動到項目名稱上面去,然後右鍵召喚出右鍵快捷菜單,然後依次點擊Build Path-Configure Build Paht…,如下圖:
4
然後我們按照圖中紅色方框所示點擊Libraries,然後點擊Add Library…,如下圖所示:
5
然後我們繼續按照圖中所示點擊User Library,然後點擊Next,如下圖:
6
然後我們繼續按照圖中紅色方框所示點擊User Libraries…,如下圖:
7
然後我們點擊New…,來開始創建我們自己的libraries,如下圖:
8
然後我們輸入我們自己jar庫的名字,這裡我使用了jsonjar作為我們的名字,如下圖:
9
接下來為我們的jar庫添加jar包,我們按照下圖中紅色方框所示點擊「Add External JARs」,如下圖:
10
我們添加json相關的jar包,這裡涉及json的第三方包主要包括這七個,所以我們把這七個包都引入到我們自己的jar庫中去,如下圖:
11
返回到User Libraries中發現,我們已經引入了所有的jar包,如下圖:
我們按照下圖中紅色方框所示畫勾,然後點擊finish,如下圖:
然後我們按照圖中紅色邊框所示點擊Apply,然後點擊OK,如下圖:
回到我們的工程中,從工程目錄中我們可以看到,我們已經添加了自己的名字為jsonjar的jar庫,如下圖:
接下來我們回到程序中,在頭部添加「import net.sf.json.JSONArray;import net.sf.json.JSONObject;」這兩句代碼,這兩句表示引入了解析json的對象和數組的包,如下圖:
然後我們通過代碼「JSONObject.fromObject(json_array)」來將我們之前創建的json字符串轉換成json對象,並且通過鍵值對的方式打印出json對象名字為「employees」的值,如下圖:
打印出的名字為「employees」的json對象的值如下圖是一個數組字符串,如下圖:
接下來我們通過代碼「jsonobj.getJSONArray(“employees”)」來將獲取的數組字符串轉變成為json組數,如下圖:
並且我們打印出json數組的長度,可見程序計算的json數組的長度和我們實際的數組長度相一致,如下圖:
接下來我們通過一個for循環將我們獲取的json數組中的值依次取出來,由於數組中又包含3個對象,我們又需要將3個對象使用代碼「JSONObject.fromObject(jsonarr.get(i));」將得到的對象字符串變成對象然後再取出來,如下圖:
最後,我們將json數組的所有內容都展示到控制台,這樣我們就可以使用java通過第三方json包來解析json數組了,如下圖:
原創文章,作者:A1ZMR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127765.html