我试图使用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);
答案 0 :(得分:1)
Json_encode为你做了一切,只需给它一个数组就可以搞清楚了: - )
$clave = $_GET["laclave"];
$arrayClave = unserialize(base64_decode($clave));
$fp = fopen('datatodo/prueba.json', 'w');
fwrite($fp, json_encode($arrayClave));
fclose($fp);
答案 1 :(得分:1)
来自manual page for json_encode()
:
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
返回包含值的JSON表示的字符串。
<强>值强>
正在编码的值。可以是除资源之外的任何类型 所有字符串数据都必须采用UTF-8编码。
您必须自己照顾的是生成UTF-8(如果您的源数据使用不同的编码)。这可以通过mb_convert_encoding()或iconv()
来完成您还应该测试返回值,因为您可能不希望为无效输入生成文件:
成功时返回JSON编码的字符串,或者
FALSE
失败。
拥有一个手动生成JSON的函数是没有意义的,即使在PHP中也是如此; - )