我有这个PHP代码创建一个显示为JSON的数组:
$return_arr = array();
$sql="SELECT * from prices ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
while($result=mysql_fetch_array($rs)) {
$return_arr[] = array('label' => $result["product"], 'id' => $result["sequence"]);
}
目前,它显示如下:
var data = [{"label":"VoIP Telephone Numbers","id":"3"},{"label":"VoIP Port Submit","id":"4"}];
但我需要从label
和id
答案 0 :(得分:0)
这是我用于此任务的正则表达式:
$not_valid_json = preg_replace(array('%([{,])(\s*)"([a-z0-9]+)"\s*:%i','%\\\\/%','%"%'), array('$1$3:','/','\''), json_encode($value));
请注意,根据规范,这不再是真正有效的JSON,但它仍将在JavaScript中进行评估。
另请注意,如果正在编码的值包含引号,则此功能始终无效。
答案 1 :(得分:0)
您不清楚如何或在何处显示JSON,但您可能需要使用JSON.parse方法。以下是我的Chrome javascript控制台:
> var foo = JSON.parse('{"label":"VoIP Telephone Numbers","id":"3"}');
undefined
> foo
Object {label: "VoIP Telephone Numbers", id: "3"}