我可以从php的json_encode获得json响应,我能够在我的日志中显示它在eclipse中的响应是什么:
[{"idusers":"1","full_name":"Test Subject","get_email":"test_subject@gmail.com"},
{"idusers":"2","full_name":"Test Subject_2","get_email":"test_subject_2@gmail.com"}]
现在,我正在尝试
//parse json data
try {
JSONArray jArray = new JSONArray(result);
for(int i =0; i<jArray.length(); i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","id: "+json_data.getInt("idusers")+
", Full Name: "+json_data.getString("full_name")+
", Email: "+json_data.getString("get_email")
);
}
}catch(JSONException e){
Log.e("log_tag","Error parsin data "+e.toString());
}
但是,我收到一条错误说
Error parsin data org.json.JSONException: Value testing of type java.lang.String cannot be converted to JSONArray
有没有办法解决JSONArray问题?
提前致谢!
答案 0 :(得分:1)
您的JSON无效。第二个数组元素中的“get_email”值缺少引号(“)。
应该是:
[
{
"idusers": "1",
"full_name": "Test Subject",
"get_email": "test_subject@gmail.com"
},
{
"idusers": "2",
"full_name": "Test Subject_2",
"get_email": "test_subject_2@gmail.com"}]
答案 1 :(得分:1)
发现发生了什么。我在PHP文档中有一个字符串,但没有被调用。我有“测试”这个词,这是错误中的一个词。一旦这个“测试”被删除,它就有效了。感谢
答案 2 :(得分:0)
尝试向JSON返回的PHP变量添加强制转换。另外,你使用的是json_encode吗?
$user_id = (int) $id;
$email = (string) $email;