JSON.parse()是否必要?

时间:2013-05-30 12:54:55

标签: parsing json

我正在使用PHP从我的服务器检索一些数据。我想在javascript应用程序中使用这些数据,所以我正在做这样的事情:

var polylines = <?php echo json_encode($polylines); ?>;

$polylines只是一个PHP数组,这个等式的右边只是一个PHP字符串。但我注意到polylines现在表现为一个对象,即使我从未调用过JSON.parse()函数。所以这引出了我的问题,是否需要JSON.parse()?或者javascript“检测”你输入的字符串是json,并自动将其解析为一个对象(就像在这种情况下似乎已经完成)?

2 个答案:

答案 0 :(得分:2)

不,在这种情况下不需要JSON.parse()

此代码将JSON文本转储到JavaScript变量赋值的右侧。 JSON是JavaScript的严格子集,所以你在这里真正做的是生成JavaScript代码。 JavaScript没有“看到”字符串。客户端解析器可以看到JavaScript对象文字。

答案 1 :(得分:2)

取决于你如何让php进入客户端浏览器。 在这种情况下,你不会在javascript中得到双引号。

案例1: var polylines =“[\”key \“:12]”; 对于这种情况,你必须做JSON.parse

案例2: var polylines = [“key”:12]; 对于这种情况,您不需要执行JSON.parse。这是你的情况。