【问题标题】:How do I change a JSON object into an array key/value pairs through code?如何通过代码将 JSON 对象更改为数组键/值对?
【发布时间】:2012-03-07 23:40:46
【问题描述】:

如何通过代码将 JSON 对象变成数组键值对?

来自:

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

收件人:

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


更新:

...我的意思是:

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

【问题讨论】:

  • 这是一个无效的数组。您的意思是:["name","JC","age",22][{"name":"JC"},{"age":22}]
  • 是的,是罗伯! @Jan:也许这有帮助:stackoverflow.com/questions/558981/…
  • 为了扩展@RobW 的观点,Javascript 没有关联数组(如 PHP),它使用对象。它们有一些关键限制,但以非常相似的方式工作。也许这有助于了解您为什么要寻找这种类型的构造?
  • @Morgon:实际上只是出于好奇..
  • @RobW: 嗯...如果是这样的话,我将如何通过代码来做到这一点?

标签: javascript


【解决方案1】:

可能你只想了解如何迭代它:

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
}

【讨论】:

  • 嗯,我想把它放到一个包含许多对象的大数组中。像 [{..},{..}] 每个属性一个对象..
【解决方案2】:

如果您尝试将 JSON 字符串转换为对象,则可以使用内置的 JSON 解析器(尽管在 IE7 等旧浏览器中不可用):

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

请注意,您必须使用双引号才能使 JSON 有效。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 2018-12-06
      • 2019-01-05
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      相关资源
      最近更新 更多