繁体   English   中英

如何通过解析JSON文件分配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将文件的内容放入对象中,然后将内部数据(数组)传递给名为doS​​omething()的函数:

    $(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM