user835440
user835440

Reputation: 83

How to get values of attributes from JSON using jQuery

I am generating json from an xml file using the Newtonsoft dll. From the below how would I get the address details into a list(if there were more in the example) and write them to a dropdown list I have the following valid json (checked onjsonlint):

{
    "?xml": {
        "@version": "1.0",
        "@encoding": "utf-8"
    },
    "Root": {
        "Information": {
            "Error": {
                "ErrorNo": "0",
                "ErrorMsg": null
            },
            "Address": {
                "Address": [
                    {
                        "@AddressID": "14961943",
                        "@Sequence": "1",
                        "@Description": "Some Company Name, Some Building, 10 Some Street, Some County, Some City"
                    }            
                ]
            }
        }
    }
}

Upvotes: 2

Views: 2637

Answers (2)

Rory McCrossan
Rory McCrossan

Reputation: 337560

Try this:

var json = // that object above
var addresses = json.Root.Information.Address.Address;

for (var i = 0; i < addresses.length; i++) {
    var $option = $("<option></option>").val(addresses[i]["@AddressID"]).text(addresses[i]["@Description"]);
    $("#mySelect").append($option);
}

Example fiddle

Upvotes: 1

Daniel Baulig
Daniel Baulig

Reputation: 10989

Solution without use of jQuery:

var select = document.getElementById('selectID');
var addresses = json.Root.Information.Address.Address;

for(var i = 0, l = addresses.length; i < l; i++) {
  var o = document.createElement('option');
  o.value = addresses[i]['@AddressID'];
  o.innerHTML = addresses[i]['@Description'];
  select.appendChild(o);
}

Upvotes: 0

Related Questions