2014-02-07 131 views
0

我以一个JSON文件和重组它作为一个新的格式的对象(而不是相同的格式JSON文件我读书,我想组变量不同的)一个对象的变量,这样我可以使用它。这需要用事先未知的名称创建大量变量。动态创建

我可以动态地在我的项目中创建一个新的变量是这样的:

object[variablename] 

不过,我想能够做这样的事情

library[musicLibrary.Key].name = musicLibrary.alblum; 

library[musicLibrary.Key].songs.[musicLibrary.title].name = musicLibrary.song; 

有没有什么方法可以让我有可能做到这一点?

我对JSON当前循环的代码如下所示:

var library = {}; 

for(var i = 0; i < musicList.songs.length; i++) { 
//read json and reorganise it into a object 
} 
+0

,你可以尝试使用[齐磊与功能JSON.parse(https://developer.mozilla.org/en-US /文档/网络/的JavaScript /参考/ Global_Objects/JSON /分析)您尝试解析JSON是什么? – Grundy

+0

'库[musicLibrary.Key] .name'应该是有效的语法...也许你只需要添加'库[musicLibrary.Key] = {}'第一? – Passerby

+0

JSON是你通过数组重点 http://stackoverflow.com/questions/684672/loop-through-javascript-object – CubanAzcuy

回答

1
for(var i = 0; i < musicList.songs.length; i++) { 
    var key = musicLibrary.Key; 
    library[key] = library[key] || {}; 
    library[key]['name'] = musicLibrary.alblum; 
    library[key]['songs'] = library[key]['songs'] || {}; 
    library[key]['songs'][musicLibrary.title] = library[key]['songs'][musicLibrary.title] || {}; 
    library[key]['songs'][musicLibrary.title]['name'] = musicLibrary.song; 
}