我试图从javascript中的json数组中获取值。下面是我的javascript文件的一部分。我使用jsondata.value
来获取值。它在控制台上正确显示json数据,但jsondata.value
无法获取值。
答案 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);
});