我正在尝试使用以下代码访问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项目
答案 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>