2015-11-03 79 views
1

如何從json字符串獲取申請cat2的價值..........如何從JSON字符串

的代碼,我用來獲取json獲取的申請「CAT2」值字符串下面提到...

Gson gson = new Gson() 
//convert java object to JSON format 
String json = gson.toJson(obj); 
System.out.println(json); 

....控制檯輸出..........

{ 
"feed": [ 
    { 
     "cat1": "test", 
     "cat2": "test", 
     "cat3": "test", 
     "title": "test" 
    } 
], 
"bigimage": 0 
} 

什麼建議立即進行刪除d我進一步得到cat2內的值,即test

+0

JSON字符串是你的對象只是一種表象,換句話說,你需要的字符串是簡單的'obj.getFeed()[0] .getCat2( )'? (或者'obj.getFeed()。get(0).getCat2()'如果它是一個列表。假設你在你的對象中有合適的getter。 –

+0

這兩個方法包含什麼getFeed()和getCat2() –

+0

你使用Gson通過'String json = gson.toJson(obj);'將你的'obj'轉換成Json,因此你的'obj'具有一個「feed」屬性是一個邏輯,它是一個對象的列表/數組有變量cat1,cat2,cat3和title。只要屬性沒有映射不同,它們應該簡單地可訪問。 –

回答

3
JsonParser parser = new JsonParser(); 

JsonElement jsonElement = parser.parse(json); 
JsonObject jsonObj = jsonElement.getAsJsonObject(); 

JsonArray feed = new JsonArray(); 
feed = jsonObj.getAsJsonArray("feed"); 

JsonObject jsonOb = feed.get(0).getAsJsonObject(); 
String value = jsonOb.get("cat2").getAsString(); 

這是你如何能得到的cat2value。您將需要添加com.google.gson庫來編譯此代碼。

+0

kruti最後兩行顯示錯誤,即JsonObject jsonObject = feed.getAsJsonObject(0);顯示錯誤「remove參數匹配getAsJsonObject()」和String value = jsonObject.get(「cat2」);顯示爲「將值類型更改爲JsonElement」 –

+0

@sourabhshukla:更正。我的壞。 –

+0

:) supercool ....它的作品:) –

1

添加下面的代碼,並嘗試:

JsonParser parser = new JsonParser(); 
JsonElement jsonElement = parser.parse(data); 
JsonObject jsonObj = jsonElement.getAsJsonObject(); 
JsonArray feed = jsonObj.getAsJsonArray("feed");//get the feed arry from json 
JsonObject jsonObject = feed.get(0).getAsJsonObject();//get the first feed element 
System.out.println(jsonObject.get("cat2"));//displays test