2017-02-20 61 views
0
title = u.getOrganizations(); 
Gson gson = new Gson(); 
String jsonItems = gson.toJson(title); 
System.out.println(jsonItems); 
if(jsonItems.length() >0 && !jsonItems.equalsIgnoreCase(null)){ 
    JSONArray jObj = new JSONArray(jsonItems); 
    System.out.println(jObj.toString()); 
} 

電流輸出:如何使用Gson解析Java對象並獲​​取每個元素的值?

[{"name":"ABCD","title":"Test Specialist","primary":true,"customType":"Work"}] 

預期輸出:

name: ABCD 
title: Test Specialist 
primary: true 
customType: Work 

這是新的給我,試過網上資源無法得到我的意圖,你的幫助非常感謝..謝謝!

+0

打印jObj的內容時是否有任何問題? – RamPrakash

+0

正確輸出jObj並處理空數據,但我很難從此對象獲取標題。 – s2990

回答

0

你的JSON字符串是一個元素的數組

字符串jsonString =您的JSON

  JsonArray jsonArray= new JsonParser().parse(jsonString).getAsJsonArray(); 
      JsonObject jsonObject = (JsonObject) jsonArray.get(0); 
      System.out.println("title :"+jsonObject.get("title")); 

等....

+0

完全按照預期工作,非常感謝! – s2990

0

我已經使用了相同,但與列表,我不知道它是否會工作。使用列表可以獲得對象列表並創建列表,我創建該對象並將其添加到列表中,最後將其添加到列表中,最後將gson.toJson(listaObjects)將其轉換爲Json。解析它,我只能做

Gson gson = new Gson(); 
    Type type = new TypeToken<List<ProvinciaDTO>>() { 
    }.getType(); 
objectsList= new Gson().fromJson(listaJSonString, type); 

//foreach of objectsList 

你的情況爲數組: 下來投票 接受 你的JSON字符串是一個元素的數組

JsonArray jsonArray= new   JsonParser().parse(jsonString).getAsJsonArray(); 
JsonObject jsonObject = (JsonObject) jsonArray.get(0); 
System.out.println("title :"+jsonObject.get("title"));