JSON引用在POST中未被取消

时间:2013-04-19 14:46:49

标签: php json codeigniter escaping decode

我有一段代码接受JSON字符串作为POST参数。我遇到的挑战是如何解码字符串。考虑使用mygateway.php字段为meta的帖子:

{"test" : "One \"quote\" is as good as an escaped \"quote\"..."}

如果我跑:

$meta_json_string = $this->CI->post('meta', true);

$ meta_json_string的值是:

{
    "test": "One "quote" is as good as an escaped "quote"..."
}

json_decode()运行时无法解码。有关如何阻止CodeIgniter取消引号的任何建议,以便我可以对其进行解码吗?

1 个答案:

答案 0 :(得分:0)

将其更改为:

$meta_json_string = $this->CI->post('meta');

这样CI就不会在字符串上运行XSS卫生,因为太复杂而无法可靠地清理成JSON字符串。完成上述操作后,再json_decode(),然后分别对要回显的元素运行$this->security->xss_clean()