从json字符串中提取数据

时间:2014-03-25 07:57:35

标签: javascript json

我是新手使用javascript和json。我需要从json中提取某些部分来处理数据。

{
  "status": "SUCCESS",
  "status_message": "blah blah blah",
  "pri_tag": [
      {
          "tag_id": 1,
          "name": "Tag1"
      },
      {
          "tag_id": 2,
          "name": "Tag2"
      },
      {
          "tag_id": 3,
          "name": "Tag3"
      },
      {
          "tag_id": 4,
          "name": "Tag4"
      }
  ]
}

从上面的json消息我需要提取pri_tag部分,以便提取的json应该如下所示:

[
  {name:'Tag1', tag_id:1},
  {name:'Tag2', tag_id:2},
  {name:'Tag3', tag_id:3},
  {name:'Tag4', tag_id:4},
  {name:'Tag5', tag_id:5},
  {name:'Tag6', tag_id:6}
];

如何使用javascript完成此操作?请帮我。提前谢谢。

谢谢朋友们。我能够让这个工作。再次感谢。

4 个答案:

答案 0 :(得分:4)

试试这个:

  var data={
  "status": "SUCCESS",
  "status_message": "blah blah blah",
  "pri_tag": [
  {
      "tag_id": 1,
      "name": "Tag1"
  },
  {
      "tag_id": 2,
      "name": "Tag2"
  },
  {
      "tag_id": 3,
      "name": "Tag3"
  },
  {
      "tag_id": 4,
      "name": "Tag4"
  }
  ]
  };

如果从Ajax请求获取数据,则需要像这样解析它:

  var newData=JSON.parse(data).pri_tag;

如果没有,你不需要解析:

  var newData=data.pri_tag;

答案 1 :(得分:1)

var data={
  "status": "SUCCESS",
  "status_message": "blah blah blah",
  "pri_tag": [
      {
          "tag_id": 1,
          "name": "Tag1"
      },
      {
          "tag_id": 2,
          "name": "Tag2"
      },
      {
          "tag_id": 3,
          "name": "Tag3"
      },
      {
          "tag_id": 4,
          "name": "Tag4"
      }
  ]
}

使用此代码

var result=data.pri_tag;
for(var i in result)
{
    console.log(result[i]);
}

答案 2 :(得分:0)

试试这个

var foo = '{"status": "SUCCESS","pri_tag": [...]}'
var bar = JSON.parse(foo)
bar.pri_tag

答案 3 :(得分:-1)

假设您有一个包含JSON对象的数据变量,结果将保持您期望的结果(不使用相同的数据变量):

var result = [];

for(var i = 0; i < data.pri_tag.length; i++){
    result.push({'name': data.pri_tag[i].name, 'tag_id': data.pri_tag[i].tag_id});
}

console.log(result);

Here你是一个有效的例子。