如何使用嵌套的 JSON 对象构建 JSON 对象
How to build JSON object with nested JSON objects
我正在用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
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象