我正在将字符串格式的json转换为JSONObject。
我的json(从我的服务器收到)就像
[{ "key": "value", "key2": "value2"}, { "key": "value2", "key2": "value3"}]
我试过
JSONObject obj = new JSONObject(json);
但obj总是为null,我的json格式有效(在http://jsonlint.com/上测试)
我必须首先在我的String上做什么吗?
谢谢,
答案 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