引发异常的Java JSON代码
我有一个JSON字符串:
[{"user_id":"123","email":"person@email.com","lat":"40.748329","lng":"-73.996223",
"first_name":"Alex","last_name":"Genadinik"}]
下面是Java代码:
try
{
JSONObject obj = new JSONObject(result);
Log.d( "NAME: " , "test: " + obj.getString("first_name") );
}
catch ( Exception e )
{
Log.d( "JSON ERRORZ: " , "some crap happened " + e.getMessage() );
}
但它抛出了一个错误:
[{"last_name":"Genadinik","first_name":"Alex","lng":"-73.996223","user_id":"1","email":"alex.genadinik@gmail.com","lat":"40.748329"}] of type org.json.JSONArray cannot be converted to JSONObject
你知道我如何解决这个问题,只提取JSON中的值吗
谢谢
# 1 楼答案
这个JSON字符串是一个数组,不是对象,不是开头的方括号(look here)。改用
JSONArray
,并从中提取JSONObject
# 2 楼答案
错误说明了一切。你正在传递一个数组,它需要一个对象
要修复错误,应该从JSON字符串中删除方括号(
[
,]
)一个对象看起来像:
其中,数组的形状如下所示: