Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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_使用json值对数组进行编码_Php_Arrays_Json - Fatal编程技术网

Php json_使用json值对数组进行编码

Php json_使用json值对数组进行编码,php,arrays,json,Php,Arrays,Json,假设我有以下数组: $res['results']='{"key":"value"}'; $res['status']='OK'; 我对这个数组进行编码: var_dump(json_encode($res)); 这是结果(双引号转义): {“结果”:“{\“键\”:“值\”}”,“状态”:“确定”} 但是我想要这个结果(不转义双引号): {“结果”:“{“键”:“值”}”,“状态”:“确定”} 假设数组有点复杂,我不知道哪些值是json本身,那么实现我的目标的正确方法是什么 非常感谢您在p

假设我有以下数组:

$res['results']='{"key":"value"}';
$res['status']='OK';
我对这个数组进行编码:

var_dump(json_encode($res));
这是结果(双引号转义):

{“结果”:“{\“键\”:“值\”}”,“状态”:“确定”}

但是我想要这个结果(不转义双引号):

{“结果”:“{“键”:“值”}”,“状态”:“确定”}

假设数组有点复杂,我不知道哪些值是json本身,那么实现我的目标的正确方法是什么


非常感谢您在php字符串中嵌入了json。PHP不知道什么是JSON,它会像对待任何其他字符串一样对待字符串中的JSON——当再次使用JSON_encode()时,会引用任何JSON元字符。e、 它只是双重编码

您需要解码json字符串,存储解码后的数据结构,然后重新编码整个:

$res['results']=json_decode('{"key":"value"}');
                ^^^^^^^^^^^^-----------------^
$res['status']='OK';

是的,我知道,我想这是唯一的选择?我在寻找一个通用的解决方案,以防您不知道该值将是一个json(假设它是来自其他地方的变量…)。它会炸毁任何你提供给它的json解析器。