这是我服务器的json响应。我如何解析它并将其存储在HashMap中?请帮我。
{'records':
[{
'number':165,
'description': 'abcd'
},
{
'number':166,
'description': 'ab'
},
{
'number':167,
'description': 'abc'
}]
}
答案 0 :(得分:1)
我是Android的新手,但也许你可以这样做:
JSONObject JsonObject = new JSONObject(json);
JSONArray JsonArray_ = JsonObject .getJSONArray("records");
for (int i = 0; i < numberOfItems; i++) {
JSONObject record= JsonArray_photo.getJSONObject(i);
parsedObject.number = record.getString("number"); //its the same for all fields
map.add(parsedObject);
}
我为自己的JSON解析器做了类似的事情。希望这可以帮助。欢呼声
答案 1 :(得分:0)
我建议您查看gson库,这使得将JSON解析为表示数据的对象非常容易。因此,您可以创建一个Record对象,其中包含数字,描述的公共成员变量,然后使用gson将JSON解析为对象数组。
http://code.google.com/p/google-gson/
将.jar添加到libs文件夹中,然后像这样使用它:
Record[] records = new GsonBuilder().create().fromJson(jsonString,Record[].class)
int number = record[0].number;
答案 2 :(得分:0)
Android中包含org.json
个包:http://developer.android.com/reference/org/json/package-summary.html
使用很简单:
JSONObject json_object = new JSONObject(String json_string);
然后可以将每个属性作为Java属性访问,例如, json_object.property
。如果由于某种原因解析失败(即无效的JSON),它将抛出JSONException
。
答案 3 :(得分:0)
您可以使用Gson库,您可以在softwarepassion.com
上找到完整的教程