我有一个JSON对象被解析,我正在尝试向下导航到SHIPPINGCOMMENTS并更新它,但是当我这样做时,它会更新所有具有该名称的单元格,而不仅仅是那个单元格。
{
"id": 1402846607011,
"status": "unsaved",
"accounts": [
{
"compid": 919759,
"compname": null,
"products": [
{
"BCINUM": "539504",
"ITEMUNIT": "EA",
"ORDERDETAILS": [
{
"SHIPDATEID": "69230",
"SHIPPERIODID": "2096",
"QUANTITY": "1"
},
{
"SHIPDATEID": "69231",
"SHIPPERIODID": "2096",
"QUANTITY": "2"
}
],
"SHIPPINGCOMMENTS": "sooner"
}
]
},
{
"compid": 920001,
"compname": null,
"products": [
{
"BCINUM": "539504",
"ITEMUNIT": "EA",
"ORDERDETAILS": [
{
"SHIPDATEID": "69230",
"SHIPPERIODID": "2096",
"QUANTITY": "1"
},
{
"SHIPDATEID": "69231",
"SHIPPERIODID": "2096",
"QUANTITY": "2"
}
],
"POTEXT": "",
"SHIPPINGCOMMENTS": "sooner"
}
]
}
]
}
这是我的代码,我用它来循环:
function updateComments(compID,bcinum,comment) {
var accounts = runningOrders.accounts;
var n = accounts.length;
for (i = 0; i < n; i++) {
if (accounts[i].compid == compID) {
var p = accounts[i].products.length;
for (ii = 0; ii < p; ii++) {
if (accounts[i].products[ii].BCINUM == bcinum) {
accounts[i].products[ii].SHIPPINGCOMMENTS = comment;
}
}
}
}
}
函数调用是:
updateComments(919759,539504,sooner);
答案 0 :(得分:0)
两个潜在问题:
此代码在node.js中为我工作:
function updateComments(compID,bcinum,comment) {
var n = accounts.accounts.length;
console.log(n);
console.log(accounts['accounts'][0].products);
console.log(accounts['accounts'][1].products);
for (i = 0; i < n; i++) {
console.log('testing ', i, accounts.accounts[i].compid)
if (accounts.accounts[i].compid == compID) {
var p = accounts.accounts[i].products.length;
console.log('Found compid', i, compID);
for (ii = 0; ii < p; ii++) {
if (accounts.accounts[i].products[ii].BCINUM == bcinum) {
console.log('Found bcinum', ii, bcinum)
accounts.accounts[i].products[ii].SHIPPINGCOMMENTS = comment;
}
}
}
}
console.log(accounts['accounts'][0].products);
console.log(accounts['accounts'][1].products);
}
accounts = {
"id": 1402846607011,
"status": "unsaved",
"accounts":
[
{
"compid": 919759,
"compname": null,
"products": [
{
"BCINUM": "539504",
"ITEMUNIT": "EA",
"ORDERDETAILS": [
{
"SHIPDATEID": "69230",
"SHIPPERIODID": "2096",
"QUANTITY": "1"
},
{
"SHIPDATEID": "69231",
"SHIPPERIODID": "2096",
"QUANTITY": "2"
}
],
"SHIPPINGCOMMENTS": "sooner"
}
]
},
{
"compid": 920001,
"compname": null,
"products": [
{
"BCINUM": "539504",
"ITEMUNIT": "EA",
"ORDERDETAILS": [
{
"SHIPDATEID": "69230",
"SHIPPERIODID": "2096",
"QUANTITY": "1"
},
{
"SHIPDATEID": "69231",
"SHIPPERIODID": "2096",
"QUANTITY": "2"
}
],
"POTEXT": "",
"SHIPPINGCOMMENTS": "sooner"
}
]
}
]
}