Accessing Objects inside Array inside JSON object using Javascript

arrays, javascript, json, sqlite

Solution

Change

var customer = Result.customers[i];

to

var customer = Result.customers[i].customer;

Problem

I have an encoded JSON object that stores an array of objects that I wish to iterate through in order to input into a database. The Result object is similar to as follows: ``` { "customers": [ { "customer": { "id":"1", "customerName":"Customer Alpha", "customerID":" custA", "customerAddress":" Alpha Way", "customerCity":" Alpha", "customerState":" AL", "customerZip":"91605" } }, { "customer": { "id":"2", "customerName":"Customer Beta", "customerID":" CustB", "customerAddress":" Beta Street", "customerCity":" Beta", "customerState":" BE", "customerZip":"91605" } } ] } ``` I'd like to be able to input each field into the database, but the code I have inputs undefined into the database for everything. What is the proper way to access the variables stored in each field inside the array? Here's what I'm using so far which doesn't work: ``` function insertCustomer(customerName, customerID, customerAddress, customerCity, customerState, customerZip) { db.transaction(function (tx) { tx.executeSql('INSERT INTO Customers (customerName, customerID, customerAddress, customerCity, customerState, customerZip) VALUES (?, ?, ?, ?, ?, ?)', [customerName, customerID, customerAddress, customerCity, customerState, customerZip], CountReturns); }); }; $.ajax({ url : 'http://webserver/retrieveDatabase.php', dataType : 'json', type : 'get', success : function(Result){ alert(Result.customers); for (var i = 0, len = Result.customers.length; i < len; ++i) { var customer = Result.customers[i]; insertCustomer(customer.customerName, customer.customerID, customer.customerAddress, customer.customerCity, customer.customerState, customer.customerZip); } } }); ``` The alert responds with a series of [object Object]s.

Original source