JS 实现JSON查询的方法实例
在项目中,我们常常需要通过给定的条件查询数据。如果数据存储在JSON格式的文件中,我们可以使用JS实现JSON查询。下面是JS实现JSON查询的方法实例。
1. 获取JSON数据
首先,我们需要获取JSON数据。这可以是从服务器或本地文件中获取。在本例中,我们将使用本地文件。我们可以使用XMLHttpRequest
对象获取JSON文件。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'data.json', true);
xhr.onload = function() {
if (this.status == 200) {
var jsonData = JSON.parse(this.responseText);
// jsonData包含JSON数据
}
};
xhr.send();
2. 查询JSON数据
假设我们的JSON文件如下:
{
"students": [
{"name": "Tom", "age": 22, "gender": "M", "score": {"math": 90, "physics": 85}},
{"name": "Lucy", "age": 21, "gender": "F", "score": {"math": 95, "physics": 89}},
{"name": "Jim", "age": 23, "gender": "M", "score": {"math": 87, "physics": 88}},
{"name": "Lily", "age": 20, "gender": "F", "score": {"math": 92, "physics": 93}}
]
}
我们要查询年龄大于等于22岁的男生信息。我们可以使用如下代码:
var result = jsonData.students.filter(function(student) {
return student.gender == 'M' && student.age >= 22;
});
console.log(result);
此时,result
将包含查询结果。结果为:
[
{"name": "Tom", "age": 22, "gender": "M", "score": {"math": 90, "physics": 85}},
{"name": "Jim", "age": 23, "gender": "M", "score": {"math": 87, "physics": 88}}
]
3. 进一步查询
我们可以查询结果中的子属性。例如,我们要查询结果中的数学成绩大于等于90的学生信息。我们可以使用如下代码:
var subResult = result.filter(function(student) {
return student.score.math >= 90;
});
console.log(subResult);
此时,subResult
将包含查询结果。结果为:
[
{"name": "Tom", "age": 22, "gender": "M", "score": {"math": 90, "physics": 85}}
]
通过上面的方法,我们可以实现JSON查询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 实现Json查询的方法实例 - Python技术站