导入.getMap方法

时间:2016-03-10 12:32:43

标签: java json

我正在尝试使用以下代码访问JSON对象密钥。

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项目

1 个答案:

答案 0 :(得分: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>