Search code examples
javascriptjqueryjsonjsonp

Join JSON Object member string values together


"category": [{
      "id": 28,
      "name": "Dogs"
  },
  {
      "id": 14,
      "name": "Cats"
  },
  {
      "id": 878,
      "name": "Sheep"
  }],

I have the above JSON parsed (using .ajax and jsonp as callback) and I would like to join all the values of "name" into a string. i.e. "Dogs, Cats, Sheep". How can I do this? I have tried simple join on "category" and name, i.e.

var cats = categories.join(", ");

OR

var cats = categories.name.join(", ");

But since we are looking at it's members and their string values, it doesn't work.


Solution

  • This looks like a job for $.map!

    var data = {
        "category": [{
              "id": 28,
              "name": "Dogs"
          },
          {
              "id": 14,
              "name": "Cats"
          },
          {
              "id": 878,
              "name": "Sheep"
          }]
    }
    
    var cats = $.map(data.category, function(v){
        return v.name;
    }).join(', ');