Loop through jquery data() object to get keys and values

I have a data() object containing some json.

Is there a way I can loop through the object and grab each parts key and value?

This is what I have so far:

function getFigures() {

var propertyValue = getUrlVars()["propertyValue"];

$.getJSON(serviceURL + 'calculator.php?value=' + propertyValue, function(data) {

    figures = data.figures;
    $.each(figures, function(index, figure) {

        $('#figureList').append('<li> index = ' + data.figures.figure + '</li>');

    });

});

$('#figureList').listview('refresh');

}

The json looks like this:

{"figures":{"value":"150000","completion":"10.00","coal":"32.40","local":"144.00","bacs":"35.00","landRegistry":"200.00","solFee":"395.00","vatOnSolFees":79,"stampDuty":1500,"total":2395.4}}

Apologies if its simple, I'm new to jQuery and couldn't find anything on SO that helped.

Answers


You can get the key and value like this

$.each(data.figures, function(key, val) {

        console.log('Key: ' + key + '  Val: ' + val)

    });‚Äč

So change your code to

 $('#figureList').append('<li>'+ index + ' = ' + figure + '</li>');

Demo: http://jsfiddle.net/joycse06/ERAgu/


The parameters index and figure contains the parameter name and value. I think that you want to concatenate the parameters into the string:

$('#figureList').append('<li>' + index + ' = ' + figure + '</li>');

An alternative is to create the list item element and set the text of it, that would also work if the text contains any characters that need encoding:

$('#figureList').append($('<li/>').text(index + ' = ' + figure));

function getFigures() {

   var propertyValue = getUrlVars()["propertyValue"];

   $.getJSON(serviceURL + 'calculator.php?value=' + propertyValue, function(data) {

       $.each(data['figures'], function(index, val) {

          here grab "val" is key 

          $.each(data['figures'][index], function(col, valc) {

           here grab "col" is value

          }
       }

   }      

bye


Need Your Help

Defining a method with for loops and conditional statements

c# reflection reflection.emit ikvm

I have to define a method with Reflection.Emit that is rather complex, because I have to do a for loop on a field and have a condition with break and return. My method that I want to recreate with

Newey-West standard errors for OLS in Python?

python statistics time-series statsmodels

I want to have a coefficient and Newey-West standard error associated with it.