我有这个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中的值吗?
谢谢!
答案 0 :(得分:3)
错误说明了一切。你正在传递一个它需要一个对象的数组。
要解决您的错误,您应该从JSON字符串中删除方括号([
,]
)。
对象如下:
{
key: 'value'
}
数组的位置如下:
[
{ key: 'value' },
1,
'some string'
]
答案 1 :(得分:2)
此JSON字符串是一个数组,而不是对象,而不是开头的方括号(look here)。请改用JSONArray
,然后从中提取JSONObject
。