我正在用 Javascript 构建一个带有嵌套对象的 JSON 对象。有没有一种简单的方法可以在 Javascript 中做到这一点而不使用 eval() ?
var data_json = "data = {'"+field_name+"':{'answers':{";
for(var i=0; i<answers.length; i++){
data_json += "'" + i + "':" + "'" + answers[i] + "',";
}
data_json = data_json.replace(/,$/,"");
data_json = data_json + "}}}";
eval(data_json);
结果:
data={'myfield':{'answers':{'0':'The answer', '1':'Another answer'}}};
最佳答案
var a, data = {};
data[field_name] = { "answers" : { } };
a = data[field_name]["answers"];
for(var i=0; i<answers.length; i++){
a[i] = answers[i];
}
console.log(data);
顺便说一句,如果 data[field_name]["answers"]
仅包含数字键,则它应该是一个数组而不是对象,因此 data[field_name]
code> 应该是 = { "answers": [ ]};
关于javascript - 如何使用嵌套 JSON 对象构建 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144193/