2016-03-10 32 views
0

我想使用下面的代碼訪問JSON對象鍵。導入.getMap方法

JSONObject mainObject = new JSONObject(response); 
JSONObject posts = mainObject.getJSONObject("_id"); 
Map<String, JSONObject> map = (Map<String,JSONObject>)posts.getMap(); 
ArrayList<String> list = new ArrayList<String>(map.keySet()); 
System.out.println(list); 

我的JSON數組是:

[{"_id": "Grocery", "Categories": [{"Pulses and Grains": ["Dals"]}, {"Beverages": ["Juices", "Tea", "Coffee", "Soft Drinks"]}]}, {"_id": "Stationary", "Categories": [{"Chart Paper": ["A4 Size Chart Paper", "A3 Size Chart Paper"]}]}] 

我的項目是沒有任何的Android項目,但我一定到使用此行只是爲了讓所有我的項目中鍵和它們的JSON的值。問題在於它在.getMap()下顯示紅線,並且說它無法找到符號。請讓我知道我應該導入什麼來完成這件事,請記住,這不是任何Android項目

+0

[見這裏](http://stackoverflow.com/a/20419508/1728206) – janani

回答

0

使用更好的Gson。

'''  
List<MyClass> myClassList = getList(MyClass[].class, jsonString); 
... 

public static final <T> List<T> getList(final Class<T[]> cl, final String json) { 
    final T[] jsonToObject = new Gson().fromJson(json, cl); 
    return Arrays.asList(jsonToObject); 
} 

Maven的依賴性

<dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.4</version> 
    </dependency>