[英]Parsing JSON ARRAY
我正在進行json解析,但遇到了問題。 這是我的JSON:
"cards":[
{
"id":"bgyr6gh5yr6154",
"checkItemStates":[
],
"closed":false,
"desc":"",
"due":"2012-06-13T10:00:00.000Z",
"idBoard":"4v454g5r1515",
"idChecklists":[
],
"idList":"16562562526",
"idMembers":[
"2848f4g85t15"
],
"idShort":15,
"labels":[
],
我可以在JSON Array卡中獲取所有信息(例如“已關閉”,“到期”,...)
例如我在做
JSONArray msg2 = (JSONArray) all.get("cards");
然后
String boardId = (String) monobjet.get("closed");
而且效果很好!
但
我不知道如何獲得“ idMembers”! 任何想法,因為它是數組中的數組?
JSONArray msg2 = (JSONArray) all.get("cards");
然后
for (int i2 = 0; i2 < size2; i2++) {
myobject = (JSONObject) msg2.get(i2);
listTemp2.add(jsonObecjtToMyData(myobject));
}
String boardName = (String) monobjet.get("name");
對於給定的復雜json對象,我強烈建議使用gson它將為您完成所有任務,例如:
Gson gson = new GsonBuilder().setPrettyPrinting().create();
Map map = gson.fromJson(inputField.getText(),Map.class);
現在,地圖包含了您所需的所有內容,因此遍歷地圖將idMembers放入列表中,同時將其類型轉換為字符串或任何合適的數據類型。
您可以單獨進行類型轉換,但不能進行數組轉換。 因此,它將編譯並運行:
public class MainApp {
public Object obj[]={"foo","loo"};
public Object obj2 = "soo";
public static void main(String[] args) {
MainApp mainApp = new MainApp();
String name = (String) mainApp.obj2;
System.out.println(name);
}
}
一些值得深思的:
我們可以做這樣的事情嗎:
public class MainApp { public Object obj[]={"foo","loo"}; public static void main(String[] args) { MainApp mainApp = new MainApp(); String name[] = (String[])mainApp.obj; for(String str : name){ System.out.println(str); } }}
請使用gson並省去很多麻煩。對於復雜的pojo,您也可以使用ObjectMapper 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.