用嵌套的对象数组填充JSON对象的正确格式是什么?
What is the correct format of populating a JSON object with a nested array of objects?
我试图用JSON对象的嵌套数组创建一个JSON对象。正确的格式是什么?
下面是我想创建的一个例子:
{
"reviewCount": 96,
"reviews": [
{"name": "Sean Steinman", "date": "reviewed 2 weeks ago", "reviewContent": "Fantastic Service"},
{"name": "Ryan Lundell", "date": "reviewed in the last week", "reviewContent":"Ask for Scott!"}
]
}
到目前为止我写的是:
var reviewObj = {
reviewCount: reviews.length,
reviews: [{name: , date: , reviewContent:}]
}
初始化后,我将用一个for循环填充它,该循环将遍历一个现有的字符串数组。
澄清:
我用来填充JSON对象的数组是:[
"'nSean Steinman'nreviewed 2 weeks ago'n Fantastic Service'n",
"'nRyan Lundell'nreviewed in the last week'n Ask for Scott!'n• • •'n"
]
所以我在我的for
与tmpArr = reviews[i].split('/n');
创建一个新的数组,然后我卡住的地方是如何将其粘贴到JSON对象作为对象。
首先,您没有构建一个"JSON"对象。你只是在构建一个对象。除非对其进行JSON编码,否则它不是JSON。{"name": "bob"}
不是JSON,它是一个对象文字。'{"name": "bob"}'
字符串为JSON。
第二,你不能在对象字面量内循环,这是你的第二个代码示例似乎表明你要做的。相反,您需要将reviews
属性初始化为一个空数组,然后然后循环并向数组追加项。
var reviews = [
"'nSean Steinman'nreviewed 2 weeks ago'n Fantastic Service'n",
"'nRyan Lundell'nreviewed in the last week'n Ask for Scott!'n• • •'n"
];
var reviewObj = {
reviewCount: reviews.length,
reviews: []
}
reviews.forEach(function(line) {
var review = line.split("'n");
reviewObj.reviews.push({name: review[0], date: review[1], reviewContent: review[2]});
});
相关文章:
- 将JSON对象的表示形式更改为显式键/值格式
- 将某个时间格式转换为日期对象
- Javascript Date 对象因格式而异:yyyy-mm-dd vs mm-dd-yyyy
- 将 JavaScript 对象转换为其他格式
- 如何使用 JQuQuery 解析 JSON 对象并在 HTML 页面中以表格格式打印输出
- 如何查看json对象's格式
- JavaScript格式的对象数组嵌套到子对象中
- 对JSON格式的对象数组进行迭代,并对其进行修改和扩展,最好使用Undercore.js
- 如何将JSON格式的文件转换为JSON对象
- 为什么js会从具有特定格式的Date对象中减去一天
- 操作对象以创建不同的格式
- 如何使用 JavaScript 将对象数组转换为给定格式
- 重新设置对象的格式
- 将 JavaScript Date 对象格式化为特定格式
- 如何将对象数组设置为格式为 { x: {Number}, y: {Number} }?Javascript
- addClass 的对象格式,使用 jquery 添加文本并删除 li
- 如何将无效的对象格式转换为 JSON
- javascript异常对象格式
- call()将js对象格式化为正确的rest查询
- 更改JSON对象格式