2012-03-07 29 views
0

如何通过代码将JSON对象更改为数组键/值对?如何通过代码将JSON对象更改为数组键/值对?

从:

{ 
    'name':'JC', 
    'age':22 
} 

到:

['name':JC,'age':22] //actually, see UPDATE


UPDATE:

......我的意思是:

[{"name":"JC"},{"age":22}]

+3

这是一个无效的数组。你的意思是:'[“name”,“JC”,“age”,22]或'[{“name”:“JC”},{“age”:22}]? – 2012-03-07 23:41:53

+0

是的,它是罗布! @Jan:也许这有助于:http://stackoverflow.com/questions/558981/iterating-through-list-of-keys-for-associative-array-in-json – androidavid 2012-03-07 23:42:41

+0

为了扩展@ RobW的观点,Javascript没有关联数组(如PHP),它使用对象。他们有几个关键的限制,但以非常相似的方式工作。也许这将有助于知道你为什么寻找这种类型的构造? – Morgon 2012-03-07 23:43:55

回答

0

可能你只是想了解如何遍历它:

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 
} 
+0

好吧,我想把它放到一个包含许多对象的大数组中..像[{..},{..}]每个属性有一个对象.. – 2012-03-07 23:51:14

0

有在JavaScript没有关联数组。代替使用对象文字。你的JSON对象已经是这样了。

1

如果你想一个JSON字符串转换成一个对象,你可以使用内置的JSON解析器(虽然不是在旧的浏览器IE7一样):

JSON.parse("{\"name\":\"JC\", \"age\":22}"); 

请注意,您必须使用双你的JSON引用是有效的。

+0

双引号+1! – 2012-03-07 23:47:07

相关问题