0
我已经快疯了这一个:JSON解析单qoutes
我有这个代码:
var names = JSON.parse('<?php echo json_encode($names); ?>');
哪里$names
是在它的UTF-8含量的数组。
哪些工作正常,但当$names
阵列包含'
我开始得到unexpected token/charachter
错误。
我尝试了所有不同类型的东西,如:
var names = JSON.parse('<?php echo
json_encode(str_replace("'","\'",$names),JSON_HEX_APOS | JSON_HEX_QUOT); ?>');
或
var names = JSON.parse('<?php
echo json_encode($names,JSON_HEX_APOS | JSON_HEX_QUOT); ?>');
和非帮助。我得到Uncaught SyntaxError: Unexpected token
错误。
var names = JSON.parse('{"1":{"136":{"0":"135 \u05dc\u05dc\u05d0
\u05d4\u05d2\u05d1\u05dc\u05d4"},"75":{"0":"\u05d1\u05d5\u05e0\u05d5\u05e1 75"},"199":
{"0":"\u05d1\u05d5\u05e0\u05d5\u05e1 199"},"5":{"0":"card bonus 5"},"30":
{"0":"\u05e1\u05dc\u05e7\u05d5\u05dd \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea"},"40":{"0":"40
\u05e2\u05e8\u05d1\u05d9\u05ea"}],"37":[{"0":"\u05d6\u05e8\u05d5
\u05d0\u05e0\u05d2\u05dc\u05d9\u05ea"}],"38":[{"0":"\u05d6\u05e8\u05d5
\u05e8\u05d5\u05e1\u05d9\u05ea"}],"39":
[{"0":"\u05d6\u05e8\u05d5 \u05d8\u05d0\u05d9"}]}');
这是一个非常长的字符串,我只是减半,所以语法可能会显示不正确,但总的想法。我怎样才能解析数组?
我使用的是PHP 5.3,所以我不能尝试JSON_UNESCAPED_SLASHES
或JSON_UNESCAPED_UNICODE
如果它是相关的。
但随后试图使用var我得到未定义的,因为它不是定义为有效对象时。 –
@vdp:no。 'json_decode'负责所有的转义。 –
@ eric.itzhak:我?我从哪里来? –