如何使用嵌套的 JSON 对象构建 JSON 对象

How to build JSON object with nested JSON objects

本文关键字:JSON 对象 构建 何使用 嵌套      更新时间:2023-09-26

我正在用Javascript中的嵌套对象构造一个JSON对象。 有没有一种简单的方法可以在不使用 eval() 的情况下在 Javascript 中做到这一点?

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] = { "answerswers" : { } };
a = data[field_name]["answerswers"];
for(var i=0; i<answers.length; i++){
   a[i] = answers[i];
}

console.log(data);

作为旁注,如果data[field_name]["answerswers"]仅包含数字键,则它应该是数组而不是对象,因此应data[field_name] = { "answerswers" : [ ]};

就个人而言,我会使用 JSON.stringify 将你的 javascript 对象转换为 json 字符串格式。

查看这些以获取更多信息。

http://msdn.microsoft.com/en-us/library/cc836459(v=vs.85).aspx

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/stringify

您也可以使用JSON.parse 走另一条路(从字符串到对象)

var myObject = JSON.parse(myJSONtext, reviver);

http://www.json.org/js.html