我正在从一个 android 应用程序的 php 脚本中获取数据,该应用程序生成如下数据::
while($row=mysql_fetch_row($res))
{
if(abs(floor(floatval($row[2]))-$lat)<=10 && abs(floor(floatval($row[3]))-$long)<=10)
{ $tarray=array("latitude" => $row[2], "longitude" => $row[3]);
$tarray=json_encode($tarray);
array_push($array,$tarray);
}}
sort($array);
$array2=array("START" => "bins");
array_push($array2,json_encode($array));
print_r(json_encode($array2));
我得到的数据为
{"START":"bins","0":"[\"{\\\"latitude\\\":\\\"25.890765456\\\",\\\"longitude\\\":\\\"69.890456789\\\"}\",\"{\\\"latitude\\\":\\\"28.678912345\\\",\\\"longitude\\\":\\\"80.000000000\\\"}\",\"{\\\"latitude\\\":\\\"28.678922345\\\",\\\"longitude\\\":\\\"80.000000000\\\"}\",\"{\\\"latitude\\\":\\\"28.903123233\\\",\\\"longitude\\\":\\\"76.434343444\\\"}\",\"{\\\"latitude\\\":\\\"30.708923454\\\",\\\"longitude\\\":\\\"78.690002312\\\"}\",\"{\\\"latitude\\\":\\\"32.908923454\\\",\\\"longitude\\\":\\\"79.890002312\\\"}\"]"}
并尝试如下阅读:
JSONObject j=null,j2;
try{
j=new JSONObject(responseBody);//responsebody is a string.
}
catch(Exception r)
{r.printStackTrace();
}
String s1,s2;
JSONObject ja,jb;
try{
ja=j.getJSONObject("0");
jb=j.getJSONObject("1");
s1=ja.getString("0");
s2=ja.getString("1");
result=s1 + "|" + s2;
s1=jb.getString("0");
s2=jb.getString("1");
}
但是给了我 JSONException。我想要数据为 lat1|long1|lat2|long2 等等(由管道分隔)。我如何读取各个纬度/经度。?