Javascript 从json字符串中提取数据
我不熟悉使用javascript和json。我需要从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" },
{
"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]);
}