如何将JSON转换为数组

时间:2013-04-06 19:24:49

标签: javascript jquery arrays json parsing

这是我对 StackOverflow 的第一个问题。我认为答案并不那么复杂,但我对 Javascript 非常新。

我有一个 JQuery AJAX 函数来解析这个 JSON 对象:

{
  "Users":[
    {
      "key":"1",
      "label":"Tom Clancy"
    },
    {
      "key":"12",
      "label":"Steve Martin"
    }
  ]
}

并应获得与以下相同的结果:

var sections = [{
    key: 1,
    label: "Tom Clancy"
  }, {
    key: 12,
    label: "Steve Martin"
  }
];

我能够遍历 JSON 元素,但我不知道如何继续。

你能提供建议吗?

编辑:我仍然无法让它工作......这是我的代码:

    var sections=[
        {key:1, label:"Section A"},
        {key:2, label:"Section B"},
        {key:3, label:"Section C"},
        {key:4, label:"Section D"}
    ];
    $.ajax({
    url: '/WebOffice/ListaUtenti',
    type: "POST",
    dataType: 'json',
    success: function (data) 
    {
        console.log( "success" );
        sections = data.Users;
    }});

    scheduler.createTimelineView({
        name:   "matrix",
        x_unit: "day",
        x_date: "%d %M",
        x_step: 1,
        x_size: 15,
        y_unit: sections,
        y_property: "section_id"
    });

jquery ajax调用不会将新值分配给各个部分(调用状态成功,已验证),因此调度程序仍会显示原始部分。哪里我错了?

感谢

1 个答案:

答案 0 :(得分:1)

我会向你解释这个过程。转到任何在线JSON格式化程序,可能是this一个并且非常打印您的JSON。它将显示为。

{
   "Users":[
      {
         "key":"1",
         "label":"Tom Clancy"
      },
      {
         "key":"12",
         "label":"Steve Martin"
      }
   ]
}

所以Users是一个对象数组。 Users[0]是第一个对象,Users[1]是第二个对象。 因此,您可以轻松地迭代JSON并获得所需的结果。

现场演示:http://jsfiddle.net/sbymr/

请参阅控制台了解输出。