Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从json字符串中提取数据_Javascript_Json - Fatal编程技术网

Javascript 从json字符串中提取数据

Javascript 从json字符串中提取数据,javascript,json,Javascript,Json,我不熟悉使用javascript和json。我需要从json中提取某些部分来处理数据 { "status": "SUCCESS", "status_message": "blah blah blah", "pri_tag": [ { "tag_id": 1, "name": "Tag1" }, { "tag_id": 2, "name": "Tag2" },

我不熟悉使用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_标记部分,以便提取的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实现这一点?请帮帮我。提前谢谢


谢谢朋友们。我能让它工作。再次感谢。

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

var结果=[];
对于(var i=0;i
你就是一个很好的例子。

试试这个:

  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;
试试这个

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

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

谁是杰森?:)不需要解析任何东西,数据已经是一个JSON对象,而不是字符串。@jaranda我刚刚修复了我的答案Super hornet的答案更好。您不必将任何内容推送到单独的阵列。您需要的数据已经很好地打包好了。只需一个回合的“密码”超级大黄蜂的答案其实是错的。但好的,不需要使用任何其他变量(只要您不进一步使用它)。我不需要测试它是否为真,但谢谢;)。哈哈,你的回答很清楚,很有用。而不是我们评论的答案,因为它使用了更多的代码(这可能会混淆OP),并且它使用了比需要的更多的计算能力。然后我建议您先测试一下:我不知道Jason,也不知道Json;)@贾兰达,我马上纠正了我的打字错误@超级大黄蜂给了你完美的答案!您的JSON消息是否已经作为JSON对象加载(如果您像上面在JS中那样声明它,那么它就是)。如果使用AJAX加载消息,则需要添加var json_message=json.parse(my_json_message_变量)
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]);
}