Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:为json数组中的每个键添加引号_Php_Json - Fatal编程技术网

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上的有关如何解决此问题的内容。问题是,我不知道所有真正的键名。