gpt4 book ai didi

javascript - 在 PHP 中查询 MongoDB 后,将每个符号分配给 Javascript 中的索引

转载 作者:行者123 更新时间:2023-11-30 11:25:21 34 4
gpt4 key购买 nike

我刚刚意识到,在 PHP 中从 MongoDB 查询坐标并将其分配到 javascript 变量中后,每个字符都已分配有索引。就像我 document.write(json[0]) 一样,它会打印“[”,[1] 会打印下一个字符“{”,依此类推。如何将其转换为普通 JSON 并将其分配给 javascript 变量?

代码如下:

<script type="text/javascript">
var json = "[" + '<?php $document = $collection->find([],['_id' => 0,'coordinates.coordinates' => 1]); foreach($document as $k => $row){ echo json_encode($row).","; }?>' + "]";
document.write(json);
</script>

这是我使用 document.print(json) 时的输出数据

[{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},]

我希望它像 Javascript 变量中的普通 JSON 一样工作,我可以在其中正常使用坐标,如 json.coordinates.coordinates[1], json.coordinates.coordinates[0]:

<script type="text/javascript">
var json = [{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},{"coordinates":{"coordinates":[121.9197351,11.96795331]}},];
</script>

最佳答案

您将此作为来自 php 的 javascript 变量赋值:

  var json = "[" + '<?php $document = $collection->find([],['_id' => 0,'coordinates.coordinates' => 1]); foreach($document as $k => $row){ echo json_encode($row).","; }?>' + "]";

让它执行 "["+ 会将其转换为字符串文字,而不是像您希望的那样实际使用 json 对象。

最好这样处理:

<?php
$document = $collection->find([],['_id' => 0,'coordinates.coordinates' => 1]);
$json = array();
foreach($document as $row){ $json[] = $row; }
?>
<script type="text/javascript">
var json = <?php echo json_encode($json);?>;
</script>

将所有行放入一个数组,然后将整个行数组作为 json 输出到 javascript 中。这应该使 json 的 javascript var 成为一个实际的 json 对象,像 json[0]-> 坐标一样使用。

或者根据 $document 的完整构成,您可以这样做:

<?php
$document = $collection->find([],['_id' => 0,'coordinates.coordinates' => 1]);
?>
<script type="text/javascript">
var json = <?php echo json_encode($document);?>;
</script>

关于javascript - 在 PHP 中查询 MongoDB 后,将每个符号分配给 Javascript 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48251632/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com