使用JQuery搜索JSON对象 [英] Searching JSON objects with JQuery
本文介绍了使用JQuery搜索JSON对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下JSON对象.使用JQuery,我需要找到以下值:
I have the following JSON object. Using JQuery I need to find the values of the following:
summary.nameValues.ID和detail.TypedNameValues.size
summary.nameValues.ID and detail.TypedNameValues.size
请问有人展示如何使用JQuery做到这一点吗?
Could somebody please show how this can be achieved using JQuery?
[
{
"path": "\\Users\\john.smith\\test",
"summary": {
"NameValues": [
{
"Name": "Id",
"Values": [
"232639"
]
},
{
"Name": "City",
"Values": [
"London"
]
}
]
},
"detail": {
"String": "some data",
"Result": 0,
"TypedNameValues": [
{
"Name": "name1",
"Type": "string",
"Value": "data here!!"
},
{
"Name": "size",
"Type": "long",
"Value": "434353"
}
]
}
}
]
推荐答案
jQuery不适用于普通对象文字.您可以类似的方式使用以下函数来搜索所有"id"(或任何其他属性),而不管其在对象中的深度如何:
jQuery doesn't work on plain object literals. You can use the below function in a similar way to search all 'id's (or any other property), regardless of its depth in the object:
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
objects.push(obj);
}
}
return objects;
}
使用方式如下:
getObjects(TestObj, 'id', 'A'); // Returns an array of matching objects
此答案来自另一个线程.您可以在此处找到更多帮助:在JSON对象上使用jQuery的find()
这篇关于使用JQuery搜索JSON对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文