我一直在尝试使用JSON将String值从PHP传递到Android。
{"address":"Lebuh Bandar Utama, Bandar Utama,
47800 Petaling Jaya, Selangor, Malaysia"}
{"address":"Jalan Pasar, Taman Bunga Kenanga,
31000 Batu Gajah, Perak, Malaysia"}
{"address":"Jalan 1\/38a, Taman Sri Sinar,
51200 Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia"}
以下代码检索字符串。
try {
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","name: "+json_data.getString("address"));
//Get an output to the screen
a.add(json_data.getString("address"));
}
}
catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
错误是“JSONObject无法转换为JSONArray”。请提前了解并提前致谢。
答案 0 :(得分:1)
要转换为JSON ARRAY,您应该具有如下所示的json地址格式:
{
"address":
[
{"Lebuh Bandar Utama, Bandar Utama,
47800 Petaling Jaya, Selangor, Malaysia"},
{"Jalan Pasar, Taman Bunga Kenanga,
31000 Batu Gajah, Perak, Malaysia"},
{"Jalan 1\/38a, Taman Sri Sinar,
51200 Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia"}
]
}
然后你的代码如下:
try{
JSONObject obj= new JSONObject(result);
JSONArray jArray = obj.getJSONArray("address");
//DO ANYTHING WITH jARRAY NOW
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
然后您可以将地址转换为JSONARRAY
..
希望它会帮助你...... !!!
答案 1 :(得分:0)
确保您拥有有效的json
你可以在这里查看
{
表示json对象节点
[
表示json数组节点
如果结果是有效的json并且是JSONObject
那么
JSONObject jsonobect = new JSONObject(result)
或者你的json看起来像
[ // json array node
{ // json object node
"address": "Lebuh Bandar Utama, Bandar Utama,47800 Petaling Jaya, Selangor, Malaysia"
},
{
"address": "Jalan Pasar, Taman Bunga Kenanga,31000 Batu Gajah, Perak, Malaysia"
},
{
"address": "Jalan 1/38a, Taman Sri Sinar,51200 Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia"
}
]
或类似
{ // json object node
"addresses": [ // json array of addresses
{ // json object node
"address": "Lebuh Bandar Utama, Bandar Utama,47800 Petaling Jaya, Selangor, Malaysia"
},
{
"address": "Jalan Pasar, Taman Bunga Kenanga,31000 Batu Gajah, Perak, Malaysia"
},
{
"address": "Jalan 1/38a, Taman Sri Sinar,51200 Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia"
}
]
}
答案 2 :(得分:0)
JsonArray表示是[{JSONObject},{JSONOBject}],但你有{JSONOBject} {JSONOBject},所以你没有jsonArray