我想创建一个像以下
的对象var obj = {
'title1' : { 'sub-title':'subtitle1',
'sub-content':'sub-content1'
},
'title2' : { 'sub-title':'subtitle2',
'sub-content':'sub-content2'
},
'title3' : { 'sub-title':'subtitle3',
'sub-content':'sub-content3'
}
}
我的js
obj = {};
for (var i = 0; i < data.length; ++i) {
data.[i].title //represent title1 , title2 and title3
for (var j = 0; j < data[i].title.length; ++j) {
data.[i].title[j].sub-title //represent sub-title1 to sub-title3
data.[i].title[j].sub-content //represent sub-content1 to sub-content3
}
}
我不确定如何创建上面的obj结构。谢谢你的帮助!
答案 0 :(得分:0)
一些现代浏览器支持将JSON解析为本机对象:
var result = JSON.parse(obj); 然后你可以继续作为结果[title1] .sub-title等等/
你也可以看看有很多解析器的json2.js(https://github.com/douglascrockford/JSON-js)。
答案 1 :(得分:0)
还没有工作吗?您只是尝试使用称为数据的错误var来迭代对象。
尝试使用这样的循环:
for(var i in obj){
var subObject = obj[i];
console.log('---'+i+'---');
for(var j in subObject){
console.log(j + ": "+subObject[j]);
}
}
答案 2 :(得分:0)
试试这个:
obj = {};
for (var i = 0; i < data.length; i++) {
obj['title' + i] = {};
for (var j = 0; j < data[i].length; j++) {
obj['title' + i]['sub-title' + j] = data[i][j].title;
obj['title' + i]['sub-content' + j] = data[i][j].content;
}
}
只需进行一些更改即可调整data
对象的结构,但基本上你可以用这种方式构造所需的对象/输出。