这是我的 php 代码
$titikPetaInti = array();
while($row = mysql_fetch_assoc($hasil2))
{
$titikPetaInti[] = $row['koordinat'];
}
$data = "{titikPeta:".json_encode($titikPetaInti)."}";
echo $data;
?>
然后这是我的android代码 xResultTitikPeta 是对 php 的结果请求
jObject = new JSONObject(xResultTitikPeta);
JSONArray myArray1 = (JSONArray) jObject.getJSONArray("titikPeta");
String[]titikPeta = new String[myArray1.length()];
for(int a = 0; a < myArray1.length(); a++)
{
titikPeta[a] = myArray1.getJSONObject(a).toString();
}
teks1 = (TextView) findViewById(R.id.textView1);
teks1.setText(Arrays.toString(titikPeta));
它在模拟器上显示 null,就像没有值一样
--编辑--
我认为解析代码时出现错误,因为当我在android中显示xResultTitikPeta时,它给了我字符串结果
这是 xResultTitikPeta 的结果
{titikPeta:["-8.705378,115.225189","-8.56056700000000,115.42395100000","-8.57659700000000,115.40065300000","-8.55596300000000,115.41085700000","-8.51855200000000,115.491908000000","-8.54743200000000,115.41036800000","-8.56551100000000,115.45173900000","-8.44321000000000,115.616019000000"]}
最佳答案
这是格式错误 JSON!键上没有双引号。
$data = "{titikPeta:".json_encode($titikPetaInti)."}";
而是这样做:
$data = '{"titikPeta":'.json_encode($titikPetaInti).'}';
编辑:
好的,删除那个手工制作的方法:
$data = json_encode(array("titikPeta"=>$titikPetaInti));
关于java - php解析json到android时显示空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11006976/