Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
How can I filter JSON data with multiple objects?
To filter JSON data with multiple objects, you can use the filter() method along with comparison operators. This allows you to extract specific objects based on criteria.
Syntax
array.filter(callback(element, index, array))
Example: Filter by Single Property
const jsonObject = [
{
studentId: 101,
studentName: "David"
},
{
studentId: 102,
studentName: "Mike"
},
{
studentId: 103,
studentName: "David"
},
{
studentId: 104,
studentName: "Bob"
}
];
var result = jsonObject.filter(obj => obj.studentName == "David");
console.log(result);
[
{ studentId: 101, studentName: 'David' },
{ studentId: 103, studentName: 'David' }
]
Filter by Multiple Conditions
const students = [
{ studentId: 101, studentName: "David", grade: "A" },
{ studentId: 102, studentName: "Mike", grade: "B" },
{ studentId: 103, studentName: "David", grade: "B" },
{ studentId: 104, studentName: "Bob", grade: "A" }
];
// Filter by name AND grade
var result = students.filter(obj => obj.studentName === "David" && obj.grade === "B");
console.log("Students named David with grade B:", result);
// Filter by grade OR specific ID
var result2 = students.filter(obj => obj.grade === "A" || obj.studentId === 102);
console.log("Grade A students or ID 102:", result2);
Students named David with grade B: [ { studentId: 103, studentName: 'David', grade: 'B' } ]
Grade A students or ID 102: [
{ studentId: 101, studentName: 'David', grade: 'A' },
{ studentId: 102, studentName: 'Mike', grade: 'B' },
{ studentId: 104, studentName: 'Bob', grade: 'A' }
]
Filter Using Array of Values
const students = [
{ studentId: 101, studentName: "David" },
{ studentId: 102, studentName: "Mike" },
{ studentId: 103, studentName: "Sarah" },
{ studentId: 104, studentName: "Bob" }
];
const targetNames = ["David", "Mike"];
var result = students.filter(obj => targetNames.includes(obj.studentName));
console.log("Students with names in target list:", result);
Students with names in target list: [
{ studentId: 101, studentName: 'David' },
{ studentId: 102, studentName: 'Mike' }
]
Key Points
-
filter()returns a new array without modifying the original - Use
===for strict equality comparison - Combine conditions with
&&(AND) or||(OR) - Use
includes()to check if a value exists in an array
Conclusion
The filter() method provides a powerful way to extract specific objects from JSON arrays based on single or multiple criteria. Use logical operators to combine conditions for complex filtering requirements.
Advertisements
