迭代JavaScript结构
我正在尝试使用JSON.parse解析数据。我在解析后得到以下数据 如何遍历下面解析的数据?解析后的数据包含数组的数组迭代JavaScript结构,javascript,arrays,Javascript,Arrays,我正在尝试使用JSON.parse解析数据。我在解析后得到以下数据 如何遍历下面解析的数据?解析后的数据包含数组的数组 { "AcLedger" : [ { "BillRef" : "B4944", "ClientBalance" : 100, "ClientCr" : 40, "ClientDr" : 140, "ContraCode" : "C100", "DepositBalance" : 30,
{
"AcLedger" : [
{
"BillRef" : "B4944",
"ClientBalance" : 100,
"ClientCr" : 40,
"ClientDr" : 140,
"ContraCode" : "C100",
"DepositBalance" : 30,
"DepositCr" : 20,
"DepositDr" : 50,
"DisbursementGroup" : "DG",
"Narrative" : "Test Narrative1",
"OfficeBalance" : 90,
"OfficeCr" : 10,
"OfficeDr" : 100,
"OutstandingValue" : 200,
"PostDate" : "/Date(1398149097737)/",
"PostType" : "MA",
"Reconciled" : false,
"Reference" : "Ref001",
"TransactionNumber" : 100,
"Undone" : false,
"VatCode" : "VAT100",
"VatValue" : 103
},
{
"BillRef" : "B4944",
"ClientBalance" : 100,
"ClientCr" : 40,
"ClientDr" : 140,
"ContraCode" : "C100",
"DepositBalance" : 30,
"DepositCr" : 20,
"DepositDr" : 50,
"DisbursementGroup" : "DG",
"Narrative" : "Test Narrative 2",
"OfficeBalance" : 90,
"OfficeCr" : 10,
"OfficeDr" : 100,
"OutstandingValue" : 200,
"PostDate" : "/Date(1398149097737)/",
"PostType" : "MA",
"Reconciled" : false,
"Reference" : "Ref002",
"TransactionNumber" : 789,
"Undone" : false,
"VatCode" : "VAT100",
"VatValue" : 103
}
],
"Client" : 100,
"Deposit" : 0,
"Office" : 0,
"Transferable" : 0,
"UnAllocatedCredit" : 0,
"UnBilledAntiDisbursement" : 0,
"UnBilledDisbursement" : 0,
"UnPaidAntiDisbursement" : 0,
"UnPaidBills" : 0
}
有人能帮我做到这一点吗?对于另一个阵列中的阵列:
var i, j;
var outerArrayItem, innerArrayItem;
for (i = 0; i < outerArray.length; i++) {
// do something with the outer array
outerArrayItem = outerArray[i];
for (j = 0; j < outerArray[i].length; j++) {
// do something with the inner array
innerArrayItem = outerArray[i][j]
}
}
数据不是数组的数组。这是一个我称之为“数据”的对象,它包含许多属性,其中AcLedger是一个对象数组 遍历AcLedger数组的一种方法是:
for (var i = 0; i < data.AcLedger.length; i++) {
var array_item = data.AcLedger[i];
// Use array_item
}
解析数据的可能副本是一个对象,该对象有一个属性,即对象数组。这里没有数组。下面的代码返回我复制的数据。结果我得到了数据。var result=JSON.parsexmlhttp.responseText.d;当我尝试访问var ledgers=result.AcLedger时。上面写着未定义,看这个。它将弹出两个警报对话框,显示每个数组元素的BillRef属性。它使用与上面相同的数据以及我建议的解决方案,我已经在JSFIDLE中更新了这些数据。我的json数据是字符串格式的。请检查一下好吗?JSON.parse通常不会返回字符串。请提供原始JSON数据和JSON.parse调用。
for (var i = 0; i < data.AcLedger.length; i++) {
var array_item = data.AcLedger[i];
// Use array_item
}