如何通过代码将JSON对象更改为数组键/值对?如何通过代码将JSON对象更改为数组键/值对?
从:
{
'name':'JC',
'age':22
}
到:
['name':JC,'age':22] //actually, see UPDATE
UPDATE:
......我的意思是:
[{"name":"JC"},{"age":22}]
如何通过代码将JSON对象更改为数组键/值对?如何通过代码将JSON对象更改为数组键/值对?
从:
{
'name':'JC',
'age':22
}
到:
['name':JC,'age':22] //actually, see UPDATE
UPDATE:
......我的意思是:
[{"name":"JC"},{"age":22}]
可能你只是想了解如何遍历它:
var obj = { 'name':'JC', 'age':22 };
for (var key in obj)
{
alert(key + ' ' + obj[key]);
}
更新:
因此,您创建数组作为评价说:
var obj = { 'name':'JC', 'age':22 };
var obj2 = [];
for (var key in obj)
{
var element = {};
element[key] = obj[key]; // Add name-key pair to object
obj2.push(element); // Store element in the new list
}
好吧,我想把它放到一个包含许多对象的大数组中..像[{..},{..}]每个属性有一个对象.. – 2012-03-07 23:51:14
有在JavaScript没有关联数组。代替使用对象文字。你的JSON对象已经是这样了。
如果你想一个JSON字符串转换成一个对象,你可以使用内置的JSON解析器(虽然不是在旧的浏览器IE7一样):
JSON.parse("{\"name\":\"JC\", \"age\":22}");
请注意,您必须使用双你的JSON引用是有效的。
双引号+1! – 2012-03-07 23:47:07
这是一个无效的数组。你的意思是:'[“name”,“JC”,“age”,22]或'[{“name”:“JC”},{“age”:22}]? – 2012-03-07 23:41:53
是的,它是罗布! @Jan:也许这有助于:http://stackoverflow.com/questions/558981/iterating-through-list-of-keys-for-associative-array-in-json – androidavid 2012-03-07 23:42:41
为了扩展@ RobW的观点,Javascript没有关联数组(如PHP),它使用对象。他们有几个关键的限制,但以非常相似的方式工作。也许这将有助于知道你为什么寻找这种类型的构造? – Morgon 2012-03-07 23:43:55