将字符串正确转义为PHP中的JSON数据

时间:2011-06-27 13:13:24

标签: php json

我有一些相当长的字符串,其中包含我想要从PHP转换为JSON的任何内容。有一个简单的方法吗?例如,我希望这个JSON输出工作:

<?php
   $var = "hel\"lo";
   $var2 = "hel\nlo";
   echo "[\"".$var."\", \"".$var2."\"]"; // should give me the data: hel"lo and hel<new line>lo
?>

5 个答案:

答案 0 :(得分:6)

构造PHP数据结构,然后通过json_encode运行它。不要试图通过将字符串混合在一起来构建JSON。

$foo = array($var, $var2);
echo json_encode($foo);

答案 1 :(得分:3)

你可以使用json_encode(编辑 - 我更改了数组,以便在编码时输出是所要求的)

var $json = array('hello','hello');

echo (json_encode($json));

查看here以供参考。

编辑 - 要使用json_encode你必须有php vesion&gt; 5.20。如果您需要替代方案,可以使用zend_framework组件Zend_JSON

答案 2 :(得分:3)

$var = "hel\"lo";
$var2 = "hel\nlo";
echo json_encode(array($var, $var2));

答案 3 :(得分:2)

json_encode和json_decode应该可以解决问题。

http://php.net/manual/en/function.json-encode.php

答案 4 :(得分:1)

你可以用这个: Json - encode a PHP function