Skip to content Skip to sidebar Skip to footer

Loop A Recieved Json String To Get Values By Jquery

I'm trying to parse data returned from $.post(). [{'id':'1','text':'USD'}, {'id':'2','text':'CNY'}, {'id':'3','text':'PHP'}, {'id':'4','text':'AUD'}, {'id':'5','text':'SGD'},

Solution 1:

Your data comes in the form of array so you need to loop through each index and then fetch the values. So you can replace this :-

 $(obj).each(function(key, value) {
     console.log(key + ": " + value);
 });

with :-

 $.each( obj, function( key) {
     console.log( obj[key].id + ':' + obj[key].text);
 });

or you can do this :-

 $.each( obj, function( key, value ) {
     console.log( value.id + ':' + value.text);
 });

key is the index of array. It will return 0,1,2..

Solution 2:

I think the argument passed to your success callback function is of type string. Change it to:

function(data) {
var parsedData = JSON.parse(data);
    $(this).html();
    $.each(parsedData ,function(idx, obj) {
        $(obj).each(function(key, value) {
            console.log(key + ": " + value);
        });
    });
}

Solution 3:

function(data) {
    var value = JSON.parse(data);
    $.each(value ,function(idx, obj) {
       console.log("id : "+obj.id+" "+text:"+obj.text);
    });
 }

Solution 4:

try this

$.post(base_url+'cgame/currency',{ gameID: gameID },
 function(data) {
    $(this).html(); //<-- becareful $(this) might not be the element you think it is
    $.each(data,function(idx, obj) {
        console.log( "id : " + obj.id);
        console.log( "text: " + obj.text);
   });
 },'JSON');

Post a Comment for "Loop A Recieved Json String To Get Values By Jquery"