从php生成json时出现引号问题

从php生成json时出现引号问题,php,json,Php,Json,我正在尝试使用PHP生成json,其中包含从表单获取的数据。事实上,我需要使用json格式的引号,我尝试使用\“添加引号,但它不起作用。如果有人能帮助我,我将不胜感激 代码如下: $clave = $_GET["laclave"]; $arrayClave = unserialize(base64_decode($clave)); $guardar = array(); foreach ($arrayClave as $value){ $valorA = ("\"".$value."\

我正在尝试使用PHP生成json,其中包含从表单获取的数据。事实上,我需要使用json格式的引号,我尝试使用\“添加引号,但它不起作用。如果有人能帮助我,我将不胜感激

代码如下:

$clave = $_GET["laclave"];
$arrayClave = unserialize(base64_decode($clave));
$guardar = array();

foreach ($arrayClave as $value){
    $valorA = ("\"".$value."\":\"".$_GET[$value]."\"");
    $guardar[] = $valorA;
}

$fp = fopen('datatodo/prueba.json', 'w');
fwrite($fp, json_encode($guardar));
fclose($fp);

Json_encode为您做任何事情,只要给它一个数组,它就会计算出来:-)

从:

string json_encode(混合$value[,int$options=0[,int$depth=
512]])

返回包含值的JSON表示形式的字符串

正在编码的值。可以是除资源之外的任何类型。
所有字符串数据必须采用UTF-8编码

您唯一需要注意的是生成UTF-8(如果您的源数据使用不同的编码)。这可以通过或来完成

您还应该测试返回值,因为您可能不想为无效输入生成文件:

成功时返回JSON编码的字符串,失败时返回FALSE


手动生成JSON的函数是没有意义的,即使是在PHP中;-)

use\\”,希望它能起作用。我想你完全误解了它的工作原理……不要自己构建JSON字符串,请参见上面的注释谢谢Bram,但是$ArraySave只包含“键”,而不包含值。我将给你一个例子来说明这一点:使用$arrayClave我得到:“ID”,“NOMBRE”,“MARCA”。。。我需要:“ID”:“12456”,“NOMBRE”:“Roly”,“MARCA”:“Dogo”。。。再次感谢!
$clave = $_GET["laclave"];
$arrayClave = unserialize(base64_decode($clave));

$fp = fopen('datatodo/prueba.json', 'w');
fwrite($fp, json_encode($arrayClave));
fclose($fp);