js 查询 json 数据的方式
见https://zhuanlan.zhihu.com/p/629242488
在 JavaScript 中,可以使用多种方式来查询 JSON 数据。以下是一些常见的查询方式:
- 使用点号(.)来访问 JSON 对象中的属性:
var data = {
name: 'John',
age: 30
};
console.log(data.name); // 输出 John
console.log(data.age); // 输出 30
- 使用方括号([])来访问 JSON 对象中的属性:
var data = {
name: 'John',
age: 30
};
console.log(data['name']); // 输出 John
console.log(data['age']); // 输出 30
- 使用 Array.find() 方法来查找符合条件的数组元素:
var data = [
{ name: 'John', age: 30 },
{ name: 'Mary', age: 25 },
{ name: 'Peter', age: 35 }
];
var result = data.find(function(item) {
return item.name === 'Mary';
});
console.log(result); // 输出 { name: 'Mary', age: 25 }
- 使用 Array.filter() 方法来查找符合条件的数组元素:
var data = [
{ name: 'John', age: 30 },
{ name: 'Mary', age: 25 },
{ name: 'Peter', age: 35 }
];
var result = data.filter(function(item) {
return item.age > 30;
});
console.log(result); // 输出 [{ name: 'Peter', age: 35 }]
- 使用递归函数来查找嵌套的 JSON 对象或数组:
var data = {
name: 'John',
age: 30,
address: {
city: 'New York',
state: 'NY'
},
hobbies: ['reading', 'music']
};
function search(obj, key) {
for (var prop in obj) {
if (prop === key) {
console.log(obj[prop]);
} else if (typeof obj[prop] === 'object') {
search(obj[prop], key);
}
}
}
search(data, 'city'); // 输出 New York
search(data, 'hobbies'); // 输出 ['reading', 'music']
以上是一些常见的查询 JSON 数据的方式,根据实际需求选择合适的方式进行查询。