我在 json 代码中有这个数组。
$info=array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
array_push($info,$row);
}
$info;
$result_final->lugares_cercanos = $info;
打印此:
{"logstatus":"1","lugares_cercanos":[{"nombre":"Rio Amazonas","distancia":"5119.000"}{"nombre":"Swissotel Quito","distancia":"5823.000"}{"nombre":"Laguna de Yaguarcocha","distancia":"71797.000"}]}
现在的问题是,如何将“lugares_cercanos”的字段放入java ArrayList中?
我尝试使用这段代码:
{
JSONArray jdata=post.getserverdata(postparameters2send, URL_connect);
if (jdata!=null && jdata.length() > 0){
JSONObject json_data;
ArrayList<NameValuePair> lugares = new ArrayList<NameValuePair>();
json_data = jdata.getJSONObject(0);
logstatus=json_data.getInt("logstatus");
lugaresCercanos=json_data.getJSONArray("lugares_cercanos");
for (int i = 0; i < lugaresCercanos.length(); ++i) {
JSONObject rec = lugaresCercanos.getJSONObject(i);
String name = rec.getString("nombre");
String dist = rec.getString("distancia");
lugares.add(new BasicNameValuePair(name,dist));
}
}
}
最佳答案
试试这个:
JSONObject j = jdata.getJSONObject("obj");
JSONArray jArray = j.getJSONArray("lugares_cercanos");
int len = jArray .length();
for(int i=0; i <len; i++){
String nombre = jArray .getJSONObject(i).optString("nombre");
---------
}
关于java - 将 JSON 字符串处理为 Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14273105/