Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How to filter nested JSON object to return certain value using JavaScript ?

  • Last Updated : 03 Dec, 2020

Given a collection that contains the detail information of employees who are working in the organization. We need to find some values from that nested collections of details. That collection is known as the JSON object and the information inside object are known as nested JSON object.

Example 1: We create the nested JSON objects using JavaScript code. Consider an example, suppose there are details of 4 employees and we need to find the street number of the first employee then it can be done in the following way. 

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it's lowest price ever!

employees[0].address.["street-no"] 

If we need to find the residential details of the second employee then use the following instruction.

employees[1].address.["street-no"]

Note: The dot is an operator which indicates that select the street number from the address field of the first employee. That “street-no” is inside the “address”, so the dot operator is used. 



To print the above result in the document, we need to use document.write

html




<!DOCTYPE html>
<html>
  
<body>
    <h2 style="color:green;">
        GeeksForGeeks
    </h2>
  
    <script>
        var employees = [
        {
            "emp_id":101,
            "empname":"Ram",
            "salary":60000,
            "address" : 
            {
                "street-no":20,
                "plot-no":121,
                "city":"pune",
                "contact" : 
                {
                    "landline" : 2292099,
                    "mobile" : 8907632178
                }
            }
        },
        {
            "emp_id":102,
            "empname":"Shyam",
            "salary":50000,
            "address" : 
            {
                "street-no":12,
                "plot-no":221,
                "city":"pune"
            }
        },
        {
            "emp_id":103,
            "empname":"Lakhan",
            "salary":40000,
            "address" : 
            {
                "street-no":11,
                "plot-no":432,
                "city":"pune"
            }
        },
        {
            "emp_id":104,
            "empname":"Snigdha",
            "salary":60000,
            "address" : 
            {
                "street-no":21,
                "plot-no":222,
                "city":"pune"
            }
        }]
  
        document.write("<b>" + "Employee Id : "
            + "</b>" + employees[0].emp_id + "<br>");
  
        document.write("<b>" + "Employee Name : " 
            + "</b>" + employees[0].empname + "<br>");
  
        document.write("<b>" + "Employee Salary : "
            + "</b>" + employees[0].salary + "<br>");
  
        document.write("<b>" + "Address -> " 
            + "Street Number : " + "</b>" +
            employees[0].address["street-no"]);
    </script>
</body>
  
</html>

Output:

Example 2: We need to create the nested JSON objects using JavaScript. Consider an example that contains the information of 4 employees and we need to find the mobile number of the first employee then it can be done in the following manner.

employees[0].address.contact["mobile"]

To find the contact details of the second employee.

employees[1].address.contact["mobile"]

The dot operator is used for selecting the mobile from the contact field of the address field of the second employee.

html






<!DOCTYPE html>
<html>
  
<body>
    <h2 style="color: green;">
        GeeksForGeeks
    </h2>
    <script>
        var employees = [
        {
            "emp_id":101,
            "empname":"Ram",
            "salary":60000,
            "address" : 
            {
                "street-no":20,
                "plot-no":121,
                "city":"pune",
                "contact" : 
                {
                    "landline" : 2292099,
                    "mobile" : 8907632178
                }
            }
        },
        {
            "emp_id":102,
            "empname":"Shyam",
            "salary":50000,
            "address" : 
            {
                "street-no":12,
                "plot-no":221,
                "city":"pune"
            }
        },
        {
            "emp_id":103,
            "empname":"Lakhan",
            "salary":40000,
            "address" : 
            {
                "street-no":11,
                "plot-no":432,
                "city":"pune"
            }
        },
        {
            "emp_id":104,
            "empname":"Snigdha",
            "salary":60000,
            "address" : 
            {
                "street-no":21,
                "plot-no":222,
                "city":"pune"
            }
        }]
  
        document.write("<b>" + "Employee Id : "
            + "</b>" + employees[0].emp_id + "<br>");
  
        document.write("<b>" + "Employee Name : " 
            + "</b>" + employees[0].empname + "<br>");
  
        document.write("<b>" + "Employee Salary : " 
            + "</b>" + employees[0].salary + "<br>");
  
        document.write("<b>" + "Address -> " 
            + "Street Number : " + "</b>"
            + employees[0].address["street-no"] + "<br>");
  
        document.write("<b>" + "Address -> " 
            + "Phone Number -> " + "</b>"
            + "<b>" + "Mobile : " + "</b>"
            + employees[0].address.contact["mobile"]
            + "<br>");
    </script>
</body>
  
</html>

Output:

Example 3: We have created a JSON object that consists personal details like their first name, last name, gender etc. using JavaScript. Suppose, our JSON object contains details of 2 people and we need to find the first name and last name of the second person then we need to do the following.

For first name

Person[1].Name["FirstName"]

For Last name

Person[1].Name["LastName"] 

html




<!DOCTYPE html>
<html>
  
<body>
    <h2 style="color: green;">
        GeeksForGeeks
    </h2>
  
    <script>
        var Person = [
        {
            "Name" : {
                "FirstName" : "Smita",
                "LastName" : "Verma"
            },
            "Degree" : {
                "BE" : "CSE",
                "MTECH" : "CSE"
            },
            "Gender" : "Female"    
        },
        {
            "Name" : {
                "FirstName" : "Ramesh",
                "LastName" : "Rajput"
            },
            "Degree" : {
                "BE" : "CIVIL",
                "MTECH" : "CIVIL"
            },
            "Gender" : "Male"    
        }]
  
        document.write("<b>" + "FirstName : " + "</b>" 
            + " " + Person[1].Name["FirstName"] + "<br>");
  
        document.write("<b>" + "LastName :" + "</b>" + " "
            + Person[1].Name["LastName"] + "<br>");
  
        document.write("<b>" + "Degree : " + "->" + "BE : "
            + "</b>" + " " + Person[1].Degree["BE"] + "<br>");
  
        document.write("<b>" + "Gender :" + "</b>" + " " 
            + Person[1].Gender + "<br>");
    </script>
</body>
  
</html>

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!