我打算生成类似这样的JSON:
{ “stores”:[{“Name”:“abc”,“Phone”,“1234567”},{“Name”:“def”,“Phone”,“1111111”}], “numResults”:2 }
我的PHP代码是这样的:
while($row = mysql_fetch_assoc($result)){
$store[] = $row;
$k++;
}
$obj['stores'] = json_encode($store);
$obj['numResult'] = $numResult;
echo stripslashes(json_encode($obj));
然而,结果似乎在方括号周围有一对额外的双引号:
{ “stores”:“[{”Name“:”abc“,”Phone“,”1234567“},{”Name“:”def“,”Phone“,”1111111“}]”, “numResults”:2 }
如何删除它们? (或者实际上显示的是假设是正确的JSON格式?)
谢谢!
答案 0 :(得分:3)
只有在您拥有完整对象后才能转换为JSON一次:
while($row = mysql_fetch_assoc($result)){
$store[] = $row;
$k++;
}
$obj['stores'] = $store; // <---------Note change
$obj['numResult'] = $numResult;
$myJSONstring = json_encode($obj);
答案 1 :(得分:1)
你不需要两次json_encode。创建完全创建后的$obj
变量和json_encode。
答案 2 :(得分:0)
简单的方法是
$my_string = json_encode($my_json,JSON_FORCE_OBJECT);