⑴ java 後台接收json數據 我想在struts2 的action里,接收ext傳來的json數據 用什麼接收啊
只要從parameter里接收string類型就可以,然後將json字元串轉換成你需要的東西
⑵ 多層JSON數據,java後台如何接收
使用標準的Json對象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然後通過get(keyString)逐個解析
2. 構造一個類MyObject,根據你提出的問題,其中添加 String name,List<MyObject> child, 兩個屬性,增加getter setter 方法,通過com.google.gson.Gson進行解析。步驟如下:
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;
public class MyObject {
String name;
List<MyObject> child;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MyObject> getChild() {
return child;
}
public void setChild(List<MyObject> child) {
this.child = child;
}
public static void main(String[] args) {
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
System.out.println(obj.getChild().get(0).getName()); // --222
System.out.println(obj.getChild().get(1).getName()); // --222
System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
}
}
⑶ java怎麼讀取json格式的數據
解析JSON數據的方法多種多樣,這里提供一個自定義的方法示例。該方法接收三個參數:JSON字元串,JSON數組名稱,以及JSON字元串所包含的欄位數組。其目標是將JSON數據轉換為一個包含Map對象的List對象。每個Map對象代表JSON數組中的一個元素,其鍵值對與輸入的欄位數組一致。
具體實現上,首先創建一個List對象用於存儲Map對象。然後解析輸入的JSON字元串,獲取指定名稱的JSON數組。遍歷該數組,對每個元素創建一個新的Map對象。根據欄位數組,將JSON對象中的對應欄位值添加到Map中,並將Map添加到List中。這樣,List中的每個Map對象都代表JSON數組中的一個元素,且其結構與輸入的欄位數組一致。
需要注意的是,如果在執行過程中發生JSON異常,將記錄錯誤信息。此外,示例代碼中使用了try-catch結構處理可能出現的異常,確保程序的健壯性。
下面是一個具體的使用示例:
假設我們有如下JSON數據:
[{"id":"1","name":"張三"},{"id":"2","name":"李四"}]
我們希望將其轉換為Map對象的List,鍵值對分別為「id」和「name」。調用上述方法時,可以這樣傳遞參數:
List<Map<String, String>> result = convertJSON2List(jsonStr, "list", new String[]{"id", "name"});
這樣,result將包含兩個Map對象,分別對應於JSON數組中的兩個元素。
該方法適用於處理簡單的JSON數據轉換場景。對於更復雜的場景,可能需要使用更高級的庫或框架來簡化處理過程。
⑷ 怎樣從java後台獲取json字元串並轉換為json對象輸出
使用json-lib.jar這個工具x0dx0apublic String getJson(Object obj){x0dx0a JSONObject json;x0dx0a json = JSONObject.fromObject(obj);x0dx0a return json.toString();x0dx0a}x0dx0a使用jquery來處理jsonx0dx0a//轉換為json數據 datas可以用ajax從後台獲取上面getJson中的數據x0dx0avar jsonDatas = eval("(" + datas + ")");x0dx0a //循環遍歷數據x0dx0ajQuery.each(jsonDatas, function(item) {x0dx0a//循環x0dx0a});