用javascript解析JSON数据
我有以下JSON数据,我需要基于JAVASCRIPT中的Keytype迭代这些数据。 它应该只从传递的键代码返回记录。 假设我需要438的记录,这意味着它应该只提供以下数据。 (例如:“K”:“43800001”,“D”:“数据1”)用javascript解析JSON数据,javascript,jquery,json,Javascript,Jquery,Json,我有以下JSON数据,我需要基于JAVASCRIPT中的Keytype迭代这些数据。 它应该只从传递的键代码返回记录。 假设我需要438的记录,这意味着它应该只提供以下数据。 (例如:“K”:“43800001”,“D”:“数据1”) 由于我不擅长java脚本,而且还不熟悉它,所以我没有尝试为此编写代码。请帮我获取数据 假设上述内容存储在变量obj中。您可以通过以下方式获得结果 var result = obj.GroupCode.PickType.filter(function(item){
由于我不擅长java脚本,而且还不熟悉它,所以我没有尝试为此编写代码。请帮我获取数据 假设上述内容存储在变量
obj
中。您可以通过以下方式获得结果
var result = obj.GroupCode.PickType.filter(function(item){
return item["@KeyType"] === "438"
}).map(function(item){
return item.R[0];
});
请注意,
结果
是一个数组
。如果您有唯一的对象,则必须检查数组的长度,然后提取对象,即result[0]
或result.shift()
让我们假设上述内容存储在变量obj
中。您可以通过以下方式获得结果
var result = obj.GroupCode.PickType.filter(function(item){
return item["@KeyType"] === "438"
}).map(function(item){
return item.R[0];
});
请注意,
结果
是一个数组
。如果有唯一的对象,则必须检查数组的长度,然后提取对象,即result[0]
或result.shift()
尝试一个简单的jquery每个循环,如果:
jquery:
$.each(obj.GroupCode.PickType,function(i,v){
if (v["@KeyType"] == 438) {
console.log(v.R)//v.R[0];
}
});
javascript:
for(v in obj.GroupCode.PickType) {
if (v["@KeyType"] == 438) {
console.log(v.R)//v.R[0];
}
}
尝试对每个循环执行一个简单的jquery,如果: jquery:
$.each(obj.GroupCode.PickType,function(i,v){
if (v["@KeyType"] == 438) {
console.log(v.R)//v.R[0];
}
});
javascript:
for(v in obj.GroupCode.PickType) {
if (v["@KeyType"] == 438) {
console.log(v.R)//v.R[0];
}
}
试试这个
function getByKeyType(keytype) {
for(i in f.GroupCode.PickType) {
if(f.GroupCode.PickType[i].KeyType == keytype) {
return f.GroupCode.PickType[i].R[0];
}
}
return null;
}
试试这个
function getByKeyType(keytype) {
for(i in f.GroupCode.PickType) {
if(f.GroupCode.PickType[i].KeyType == keytype) {
return f.GroupCode.PickType[i].R[0];
}
}
return null;
}
解析JSONY您应该尝试,而不是将其放入directly@JaromandaX为什么他需要解析它?它已经是js对象,采用了有效的JSON格式,这是我从问题标题-my中假定的bad@JaromandaX哦,是的,那就是答案;)解析JSONY您应该尝试,而不是将其放入directly@JaromandaX为什么他需要解析它?它已经是js对象,采用了有效的JSON格式,这是我从问题标题-my中假定的bad@JaromandaX哦,是的,那就是答案;)非常接近,但返回一个数组。OP wants
.map(…)[0]
@A.Wolff-我正在编辑带有注释的答案。谢谢你这么说,你不需要映射它:obj.GroupCode.PickType.filter(函数(项){returnitem[“@KeyType”]===“438”}[0].R[0]代码>但不知何故,您的代码更readable@A.Wolff-我希望这是一个答案,这样我就可以向上投票:)@nikil这里的filter函数中item的用途非常接近,但返回一个数组。OP wants.map(…)[0]
@A.Wolff-我正在编辑带有注释的答案。谢谢你这么说,你不需要映射它:obj.GroupCode.PickType.filter(函数(项){returnitem[“@KeyType”]===“438”}[0].R[0]代码>但不知何故,您的代码更readable@A.Wolff-我希望这是一个答案,这样我就可以投票了:)@nikil过滤函数中项目的用途是什么?不,它不起作用var result=JSON.parse(obj)
我认为OP的代码中的obj
已经是一个objectNo,它不会工作var result=JSON.parse(obj)
我认为OP的代码中的obj
在这里已经是一个objectwarning,$。每个都不是普通的javascript,它附带jQuery:jslib。不要认为这是理所当然的知识。另外,op说他是javascript新手,所以在测试代码时可能会出现错误,并想知道“.为什么?”,添加一些其他信息一切都有可能,感谢您的编辑和burning replywarning,$。每个
都不是普通的javascript,它附带jQuery:js库。不要认为这是理所当然的知识。另外,op说他是javascript新手,所以在测试代码时可能会出错,并想知道“.为什么?”,添加一些其他信息一切都有可能,感谢您的编辑和回复