How to parse JSON using JavaScript?

JSON is used to transfer data between web applications via REST APIs. To convert JSON string to object using JavaScript you can use a method called JSON.parse. Let take a look at an example :

let jsonStr = "{\"firstName\":\"jake\",\"lastName\":\"thomson\",\"age\":10,\"state\":\"Kerala\",\"district\":\"Kochi\"}";
let jsonObj = JSON.parse(jsonStr);
console.log('JSON obj ', jsonObj);
// Output
{
    "firstName": "jake",
    "lastName": "thomson",
    "age": 10,
    "state": "Kerala",
    "district": "Kochi"
}

It has an optional callback method using which you can transform or delete an existing property in a JSON object. Here is an example:

let jsonStr = "{\"firstName\":\"jake\",\"lastName\":\"thomson\",\"age\":10,\"state\":\"Kerala\",\"district\":\"Kochi\"}";
let newJsonObj = JSON.parse(jsonStr, (key, value) => {
    if(key == "age") return value + 2;
    return value;
})
console.log('New json obj ', newJsonObj);
// Output
{
    "firstName": "jake",
    "lastName": "thomson",
    "age": 12,
    "state": "Kerala",
    "district": "Kochi"
}

As seen in the above code, inside the callback function we are incrementing the age by 2. You can also remove a property from the JSON object by returning undefined. Here is an example:

let jsonStr = "{\"firstName\":\"jake\",\"lastName\":\"thomson\",\"age\":10,\"state\":\"Kerala\",\"district\":\"Kochi\"}";
let newJsonObj = JSON.parse(jsonStr, (key, value) => {
    if(key == "age") return undefined;
    return value;
})
console.log('New json obj ', newJsonObj);
// Output
{
    "firstName": "jake",
    "lastName": "thomson",
    "state": "Kerala",
    "district": "Kochi"
}

As seen in the above code, you returned undefined for key age and it got removed from the resulting JSON object.