javascript - 如何使用嵌套 JSON 对象构建 JSON 对象

标签 javascript json

我正在用 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/

相关文章:

javascript - 如何从 JSON 恢复原始对象/类型?

javascript - 功能组件和对象值

ios - iOS 的 JSON 反序列化

javascript - 如何在我的后端显示我网站的谷歌分析

jquery 二维 JSON

javascript - 在后台嵌入 flash(隐藏在页面上)

javascript - styled-components 'css' 未定义 no-undef

javascript - 此代码似乎不会触发此按钮。出了什么问题?

javascript - Jquery 自动完成显示名称和发送 ID

javascript - 如何更改开放图元标签以在社交媒体上共享自定义内容?