2015-08-28 87 views
0

数组我有以下的JSON从服务器返回:字符串转换数组到哈希值的JSON

tags = ["tag1", "tag2", "tag3"] 

,我需要它看起来像这样:

[{"text":"tag1"},{"text":"tag2"},{"text":"tag3"}] 

我亲近通过运行此代码:

var new_list = [] 
for (i=0; i<tags.length; i++) { 
    new_list.push({'text' : tags[i]}); 
} 
new_list = JSON.stringify(new_list, ['text']); 

它返回:

'[{"text":"tag1"},{"text":"tag2"},{"text":"tag3"}]' 

但我不能摆脱封装整个数组的字符串,我觉得必须有更优雅的方式。

+3

如果你想要一个数组作为结果,你为什么序列化的结束?删除'JSON.stringify()'。 – Sirko

+0

不需要执行'JSON.stringify(new_list,['text']);' –

+0

如果我没有字符串化,“text”键不是字符串。我得到[{text:'work'},{text:'this'},{text:'does'}] – Finnjon

回答

1

其实你的代码是生产什么你期望

只是因为你正在使用JSON.strigify(输出),它被转换成字符串

您是说,如果没有你的字符串化的键值都没有显示为字符串。

为了您的信息在默认情况下所有的按键都STRING在JSON

所以没有什么错在它