【发布时间】:2015-12-14 18:24:08
【问题描述】:
我从第 3 方接收 JSON,需要有条件地解析数量...根据订单项的使用类型,“ReplacementCount”或“ServiceCount”将需要变为“数量”,并删除或忽略另一个。 'lineitemfieldname' 不会 > 0,它永远是一个或另一个。
我正在使用我的第一个 if 语句,但从来没有进入第二个...我很确定我正在错误地处理 JSON 对象/值的 if 语句,但不知道如何解决。
这是我的 JSON 示例:
{"recordtype":"salesorder","item":
[{"InventoryManagementKey":"20001","InvoiceDay":"9/10/2015","ReplacementAmount":0.0000,"ReplacementCount":500,"ServiceAmount":0.0000,"ServiceCount":0}]}
这是处理 JSON 的服务器端脚本片段:
for(var lineitemfieldname in lineitemobject)
{
var lineitemfieldvalue = lineitemobject[lineitemfieldname];
if(lineitemfieldname == 'ServiceCount' && lineitemfieldvalue != 0)
{
if(lineitemfieldname == 'InventoryManagementKey')
{
lineitemfieldname = 'item';
}
if(lineitemfieldname == 'ServiceCount')
{
lineitemfieldname = 'quantity';
}
delete 'ServiceAmount';
delete 'ReplacementAmount';
delete 'ReplacementCount';
delete 'invoiceDay';
record.setCurrentLineItemValue('item',lineitemfieldname,lineitemfieldvalue);
}
}
【问题讨论】:
-
最后,您要访问哪些字段?预期的输出是什么?
-
如果 'ReplacementCount' 的值 > 0,则标签 'ReplacementCount' 应更改为 'quantity' 这可以移动到 if/else,或者保留第二个 if... 但是如果 'ReplacementCount' = 0,'ServiceCount' 应改为 'quantity'
-
立即查看更新的
-
SyntaxError: Unexpected token: o (Create Sales Order Restlet.js$1524488#48)
标签: javascript json rest netsuite suitescript