PHP:为json数组中的每个键添加引号
我试图对这个字符串进行PHP:为json数组中的每个键添加引号,php,json,Php,Json,我试图对这个字符串进行json\u解码,但它不起作用,因为json键周围没有引号 如何转换此字符串: { chips: [ { doritos: "yum", fritos: -2147483648 } ] } { "chips": [ { "doritos": "yum", "fritos": -2147483648
json\u解码,但它不起作用,因为json键周围没有引号
如何转换此字符串:
{
chips: [
{
doritos: "yum",
fritos: -2147483648
}
]
}
{
"chips": [
{
"doritos": "yum",
"fritos": -2147483648
}
]
}
转换为有效的json字符串:
{
chips: [
{
doritos: "yum",
fritos: -2147483648
}
]
}
{
"chips": [
{
"doritos": "yum",
"fritos": -2147483648
}
]
}
您可以尝试以下方法:
$string = preg_replace(array('chips','doritos', 'fritos'), array('"chips"', '"doritos"', '"fritos"'), $string);
echo $string;
不是最优的,但应该起作用或是一个开始:
$new_json = preg_replace('/([\w\d]+): /', '"$1": ', $old_json);
^因为json_解码不是解析it@skrilled-在JavaScript中是正确的,在JSON中不是。你从哪里得到这个糟糕的JSON?你能修复源代码吗?Michael-不,我无法编辑源代码,skrilled-json_decode只是将其返回为NULL。请参阅PHP.net上的有关如何解决此问题的内容。问题是,我不知道所有真正的键名。