![](/img/trans.png)
[英]How can I assign the contents of a geojson file to a variable in Javascript?
[英]How can I assign a JavaScript variable by parsing a JSON file?
我有一个数据库服务器,它将运行脚本来每天生成此给定文件:
{"data": [
{"variable":"var1","value": "123"},
{"variable":"var2","value": "456"},
{"variable":"var3","value": "789"}]}
我正在尝试解析此文件,以为HTML canvas元素设置三个javascript变量。
到目前为止,我认为我将解析JSON文件
var JSONfile = './file.json';
var getData = JSON.parse(JSONfile);
然后是for
循环来分配变量
for (i = 0; i < getData.length; i++) {
var getData.variable=getData.Value;
}
我希望得到以下结果:
var var1 = 123;
var var2 = 456;
var var3 = 789;
但是var getData.variable=getData.Value;
休息。 我想念什么?
JSON.parse()在传递文件时需要JSON字符串。
您需要做的第一件事是使用AJAX将文件内容转换为变量。 可以使用jQuery之类的库(请参阅http://api.jquery.com/jquery.getjson/ ),也可以使用JavaScript从头开始。 但是除非必须,否则不要在“从头开始”版本上浪费时间。
使用jQuery将文件的内容放入对象中,然后将内部数据(数组)传递给名为doSomething()的函数:
$(function () {
$.getJSON("./file.json", function (data) {
}).success(function (data) {
myArr = data.data;
doSomething(data.data);
});
});
在这里,您遍历传递的数组,该数组包含具有.variable和.value属性的元素。 这会将每个元素的两个属性都写入控制台,以供您查看:
function doSomething(arr) {
for (i = 0; i < arr.length; i++) {
console.log(arr[i].variable + ': ' + arr[i].value);
}
}
您还可以通过索引直接访问属性,如下所示:
alert(jsonFromFile.data[2].variable); // Will alert "var3"
alert(jsonFromFile.data[2].value); // Will alert "789"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.