Android从字符串

时间:2016-01-19 13:55:08

标签: android json

我正在将字符串格式的json转换为JSONObject。

我的json(从我的服务器收到)就像

[{ "key": "value", "key2": "value2"}, { "key": "value2", "key2": "value3"}]

我试过

 JSONObject obj = new JSONObject(json);

但obj总是为null,我的json格式有效(在http://jsonlint.com/上测试)

我必须首先在我的String上做什么吗?

谢谢,

1 个答案:

答案 0 :(得分:3)

您正尝试将JSONArray解析为JSONOject

这样做

JSONArray obj = new JSONArray(json);

一个拇指规则:如果JSON字符串以[开头,它是一个数组,如果它以{开头,那么它就是一个对象。

这是你应该解析它的方式。

JSONArray obj = new JSONArray(json);
for(int i = 0; i < obj.length(); i++)
{
    JSONObject temp = obj.get(i);
    Log.d("Json parsing", "key: " + temp.optString("key"));
    Log.d("Json parsing", "key2: " + temp.optString("key2"));
}

输出

value
value2
value2
value3