Getting specific value from JSON using javascript

18,018

Solution 1

You could take a functional approach and use the Array.filter method:

var matchingResults = JSON['data'].filter(function(x){ return x.id == 2; });
// procede to use matching elements...

Solution 2

If you parse it into a javascript object using something like jQuery's json parse method, you could just reference the various items in the array like a normal javascript array.

Do it like this:

var dataArray = $.parseJSON(myJson).data;

var theFirstData = dataArray[0]; //get the data with id "1"

Alternately, if you don't want to use jQuery, you can use JSON.parse(jsonToParse). Here're the docs for that method.

Share:
18,018
RavenXV
Author by

RavenXV

Updated on July 06, 2022

Comments

  • RavenXV
    RavenXV almost 2 years

    I am using ajax to get a small set of data back from the server which returns JSON data with the following format:

    {
        "data": [
            {
                "id": "1",
                "value": "One"
            },
            {
                "id": "2",
                "value": "Two"
            },
            {
                "id": "3",
                "value": "Three"
            }
        ]
    }
    

    On the client side, this is assigned to a variable named response. I use response.data to get the contents.

    The question is, is there an easier way to get the value without doing a loop? I'm kinda looking for something like this response[id==2].value which should give me "Two".

    I'm open for any suggestions if this is not possible.

  • dwerner
    dwerner over 10 years
    Not at all! You made my answer better for me.
  • RavenXV
    RavenXV over 10 years
    This is exactly what I need. Thanks!
  • Sa'ad Abdurrazzaq
    Sa'ad Abdurrazzaq over 2 years
    This solution makes my life brighter. Thanks!