将JSON编码的PHP数组解析为JavaScripts JSON.parse()时出现PHP或JavaScript问题

时间:2014-07-31 15:14:13

标签: javascript php mysql arrays json

我正在为我的工作场所制作一个Web应用程序,一次性从SQL表中下载大约40,000行数据,将数据放入嵌套的PHP数组中,然后尝试回显JSON编码的数组,其中a JavaScript变量应该捕获内容。

如果我尝试将数据直接回显到标签中,它可以正常工作 - 一切都完美显示 - 格式化为JSON编码的字符串。但是,如果我尝试将数据回显到<script>标记,在语音标记“或”之间,则会在chrome中引发错误,说“未捕获的SyntaxError:意外的标识符” - 当我尝试滚动到(非常长)字符串的结尾,它似乎被切断了,只有几千个字符。

字符串实际上是1,476,075个字符长。

我如何解决这个问题?我正在重新构建应用程序 - 它最初基本上将javascript与SQL结果结合在一起,同时迭代结果行,但这是如此缓慢和笨重,所以我想到一种更简单快捷的方法将数据从PHP移动到JavaScript,将是使用大型JSON编码字符串。

非常感谢任何建议。

  • 丹。

1 个答案:

答案 0 :(得分:2)

json_encode()负责所有需要完成的引用/转义:

<?php
    $foo = 'this is a simple string';
?>

<script>
    var foo = "<?php echo json_encode($foo); ?>"; // incorrect
    var bar = <?php echo json_encode($foo); ?>; // correct

上述构造将创建:

var foo = ""this is a simple string"";
          ^--- your quote
           ^---the quote json_encode added

var bar = "this is a simple string"; // all-ok here.