我想使用PHP从数据库发送JSONObject。 目标是在Android Volley,JsonObjectRequest中接收对象并使用它。
$manually=array(
'w1' => "wall1.jpg",
'w2' => "wall2.jpg",
'w3' => "wall3.jpg",
);
echo json_encode($manually); //send JSONobject OK!!
当我创建数组以放入json_encode"手动"时,我的请求会收到一个JSONObject并且正常,但是,当我使用循环填充它时,会收到一个JSONArray('附加JSONObjectRequest错误消息')。
$ar = array(); //empty array for results
$loop =0;
while($loop<mysql_num_rows($query)){ //iterate for each row
$ar["w".($loop+1)] = mysql_result($query, $loop, "img") ; //associative array
$loop++;
}
echo json_encode($ar); //JSONArray received
在两种情况下我在webbrowser中得到的结果似乎都是一样的...... 据我所知,JSONArray是一个有很多JSONObjects的形状,形状像[{} {}],而且我没有[]括号。如何在我的循环情况下让PHP发送一个简单的对象而不是一个数组呢?
答案 0 :(得分:1)
您可以尝试在一个关联数组中将其全部包装,其中一个元素与您的数组相关,并且可以正确解释它:
echo json_encode(["walls" => $ar]);