如何在javascript中从json数组中获取值

时间:2016-09-19 21:40:59

标签: javascript json http get

我试图从javascript中的json数组中获取值。下面是我的javascript文件的一部分。我使用jsondata.value来获取值。它在控制台上正确显示json数据,但jsondata.value无法获取值。

1 个答案:

答案 0 :(得分:0)

我猜你的" jsondata"是DOM中的文字?如果是这样,你想要获取"字符串"在DOM中并将其解析为有效的JavaScript对象。要做到这一点,你需要适当地抓住它:

var jsondata = document.getElementById("jsonArray").value;

然后你需要解析它

var jsondataObj = JSON.parse(jsondata);

此时,jsondataObj是您的数据。如果您想将其填充到网格中,只需按照您想要的方式注入即可。因为您已经将数据注入DOM,所以不需要XHRHttpRequest:

var gridOptions = {  ... [your options here] };

document.addEventListener('DOMContentLoaded', function() {
    var gridDiv = document.querySelector('#myGrid');

    new agGrid.Grid(gridDiv, gridOptions);

    var jsondata = document.getElementById("jsonArray").value;

    var jsondataObj = JSON.parse(jsondata);

    function isNumeric(n) { 
        return !isNaN(parseFloat(n)) && isFinite(n);
    }

    var parsedData = jsondataObj.map(function(obj) {
        return Object.keys(obj).reduce(function(memo, key) {
            var value = obj[key];
            memo[key] = isNumeric(value) ? Number(value) : value;

            return memo;
        }, {})
    })

    console.log(parsedData);

    gridOptions.api.setRowData(parsedData);

});