解析JSON之后:
JSONArray jsonArray = new JSONArray(ResponseString);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject currentObject = jsonArray.getJSONObject(i);
String local_parameter = currentObject.getString("LOCAL_PARAMETER");
}
我得到下一个字符串:
{"Cost": 200,
"Space": 33,
"Accommodation": 1,
"AirConditioning": 1,
"Apartment": 1,
"Campfire": 1,
"Disability": 1,
"Grill": 1,
"Kitchen": 1,
"Monument": 1,
"Parking": 1,
"Scene": 1,
"Wifi": 1,
"ClosedArea": 1 }
如何使用键/值获取ArrayList?
GOT解决方案: 只需将currentObject作为JSONObject获取,然后获取所需的值字符串:
String cost = currentObject.getJSONObject("LOCAL_PARAMETER")
.getString("Cost").toString();
答案 0 :(得分:0)
如果你真的想得到一个包含你的值的ArrayList,你可以这样做,即使我不认为这种方式使用JSONObjects是最好的:
final ArrayList<Pair<String, Integer>> values = new ArrayList<Pair<String,Integer>>();
final JSONObject localParams = new JSONObject(local_parameter);
final Iterator<String> iterator = localParams.keys();
while (iterator.hasNext())
{
final String key = iterator.next();
values.add(new Pair<String, Integer>(key, localParams.optInt(key)));
}
但我真的不认为这是处理JSONObjects的最佳方法......
答案 1 :(得分:0)
只需再次解析JSON对象以获得所需的值。
JSONArray jsonArray = new JSONArray(ResponseString);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject currentObject = jsonArray.getJSONObject(i);
String local_parameter = currentObject.getString("LOCAL_PARAMETER");
String tmp = local_parameter.get("Cost").toString(); // this gets the value of Cost
}
答案 2 :(得分:0)
使用json的键创建一个模型类,并使用gson将其解析为模型类。
A a = gson.fromJson(jsonRes.toString(),A.class);
here A is your model class and a is the instance of A