我一直在为这个发疯:
我有这个代码:
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
它是否相关。