我有一个 JS 函数,我正在传递一些 JSON。我用 PHP 生成这个 JSON:
<?php
$array[] = array('hello','123','456');
echo json_encode($array);
?>
这给了我一些对 JS 来说很简洁的东西,比如:
[["hello","123","456"]]
我的 JS 函数似乎喜欢这种格式。
然而,我遇到的问题是当我直接在 JS 中生成一个类似的数组时,如下所示:
var json = [[text_var,number_var,number_var]]; // these vars established earlier in the code
var json_stringify = JSON.stringify(json);
我最终得到了如下所示的内容:
[["hello",123,456]]
所以基本上,它不是用引号封装我的数字。我认为这无关紧要,但没有它们我会得到一个Uncaught RangeError: Maximum call stack size exceeded
我尝试做一些类似自己准备 JSON 的事情:
var json = '[["'+place_name+'","'+longitude+'","'+latitude+'"]]';
但是传递它也不喜欢 - 也许它不觉得它是一个 JSON var,我已经尝试通过 JSON.stringify 解析它,但我最终在每个引用之前都有反斜杠,它也不喜欢那样.
我虚弱的头脑在这里没有看到什么?
编辑:我的 PHP 数组在另一个数组中,因此是 [["hello',"123","456"]] 的结果,而不是单括号 [ ]