user3833740 user3833740 - 3 months ago 7
jQuery Question

How to parse JSON in jQuery

I am using the following code

<script>
$(document).ready(function(){
$('.v_modalLink').click(function(){
var journalId=$(this).attr('data-id');
$.ajax({
type:"POST",
url:"<?php echo base_url();?>index.php/pranasInventory/view_invoice/1",
data:{journalId:journalId},
success:function(data)
{
var json_obj=$.parseJSON(data);
for(var i in json_obj)
{
voucherId=json_obj[i].invoice_id;

}

}
});
})
});
</script>


I want to assign the each responce value in each variable Ex:clientName="dxx";cleitPhone="eerere"

I have the following console response:

{
"invoice": [{
"invoice_id": "1",
"client_id": "1",
"client_name": "makemytrip",
"client_phone": "1234567891",
"client_email": "info@makemytrip.com",
"client_address": "Banglore.",
"service_name": "Mobile Apps",
"service_description": "asdasd asasd asdads asdasdads.",
"created_date": "2016-08-10",
"gross_amount": "1000000",
"tax_amount": "145000",
"net_amount": "1145000",
"tax_identifier_name": "Service Tax 14.5%"
}],
"myarray": [{
"taxname": "Service tax @ 14%",
"taxamount": 140000
}, {
"taxname": "swachh bharat cess @ 0.5%",
"taxamount": 5000
}],
"rowcount": 2
}


How can I parse the above data in jQuery? Thanks.

Answer

You just need to change your success response to

success:function(data)
{
    var json_obj = JSON.parse(data);

    var voucherId = json_obj['invoice'][0].invoice_id;
    var clientName = json_obj['invoice'][0].client_name;
    var clientPhone = json_obj['invoice'][0].client_phone;

    //myarray

    var taxName1 = json_obj['myarray'][0].taxname;
    var taxAmount1 = json_obj['myarray'][0].taxamount;
    var taxName2 = json_obj['myarray'][1].taxname;
    var taxAmount2 = json_obj['myarray'][1].taxamount;

    //rowcount

    var rowCount = json_obj.rowcount;
}