gpt4 book ai didi

javascript - 在 JavaScript 中读取本地 JSON 文件时出错

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

我是 JavaScript 新手。我的 JavaScript (script.js) 从一个 JSON 文件中读取,如下所示。该脚本无需使用 JQuery 即可读取。我关注了THIS网站供引用。

function readJSON() {
var LatLongData = JSON.parse(data);
var LatLng1 = new google.maps.LatLng(LatLongData[0]);
}

JSON 文件 (data.json),存储在与 JavaScript 相同的位置,如下所示:

{ "data": 
[
{"latitude" : "40.10246648", "longitude" : "-83.14877599"}
]
}

html文件如下所示:

<script type="text/javascript" src="data.json"></script>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MyKey&sensor=true"></script>
<body onload="readJSON()">
<div id="map-canvas"/>
</body>

我在 JSON 文件格式上遇到 2 个错误(在 chrome 和 Firebug 中)。但是,我在网上 ( http://jsonlint.com/ ) 验证了 JSON 文件的格式是否正确。我得到的错误是:

SyntaxError: missing ; before statement { "data":

ReferenceError: data is not defined ---> var LatLongData = JSON.parse(data);

我在这里做错了什么?

最佳答案

你不能那样阅读 json。首先你不应该通过 <script> 标签包含它。您需要通过 ajax 请求获取 json。我建议检查 jQuery 的 getJSON 方法:

$.getJSON( "data.json", function( data ) {
// now you can read the data
var LatLongData = data;
var LatLng1 = new google.maps.LatLng(LatLongData[0]);
});

您正在做的是将 json 作为 javascript 文件包含在内。这就是你得到那个错误的原因。其次,您的 readJSON 使用了实际上从未定义过的 data 变量。

关于javascript - 在 JavaScript 中读取本地 JSON 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668953/

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