JSON的PHP索引数组

JSON的PHP索引数组,php,json,Php,Json,正在寻求帮助。。不知道解决这个问题的最佳方法。。。 我正在将一个新引用推送到一个数组上,但是“true”值被插入了引号,这与我的json格式不符 while( $row = mysqli_fetch_assoc($res) ) { if($row['id']=="2"){ $row['children']= 'true'; } $data[] = $row; } echo json_encode( $data); 输出 [{"id":"2","name":"

正在寻求帮助。。不知道解决这个问题的最佳方法。。。 我正在将一个新引用推送到一个数组上,但是“true”值被插入了引号,这与我的json格式不符

 while( $row = mysqli_fetch_assoc($res) ) { 
    if($row['id']=="2"){
    $row['children']= 'true';
    }
    $data[] = $row;
}
echo json_encode( $data);
输出

[{"id":"2","name":"john","text":"john","parent_id":"0","children":"true"}]
当我需要

{"id":"2","name":"john","text":"john","parent_id":"0","children":true}]

我该如何首先删除QOUTE或正确插入它。??

如果希望“子项”为布尔值,则将其设置为布尔值

while($row=mysqli_fetch_assoc($res)){
如果($row['id']=“2”){
$row['children']=true;
}
$data[]=$row;
}

echo json_编码($data)

对于您认为布尔值为true的内容,JSON数据作为字符串传递,因此
“children”:“true”
是正确的!当您使用javascript并将其转换为javascript对象时,它将可用
'true'
是字符串,
true
是布尔值。你想要一个布尔值。。请不要使用
str\u replace
。@Howzieky你不应该使用
str\u replace
,因为这是一种不可靠的黑客行为。如果将字符串放入数组,
json\u encode
将字符串放入json,如果将布尔值放入数组,则将布尔值放入json。不要乱动JSON字符串,只需提供开头正确的值即可!嗯!!现在觉得自己很愚蠢。。。感谢Jakub和其他人的快速响应。。非常感谢!