我为 Order Object 创建了一个触发器,并且只希望从该对象中提取特定字段以创建自定义 JSON 数据结构。我尝试将对象中需要的字段保存到局部变量中,将它们放入列表中,然后对其进行序列化,但输出错误。缺少大括号,并且未在正确位置添加逗号。请在下面参考我的代码。
trigger ActiveOrder on Order (after insert, after update)
{
private String ordAccountId;
private String ordBillingStreet;
private String ordBillingCity;
private String ordBillingState;
private String ordBillingPostalCode;
private String ordBillingCountry;
private String ordDescription;
private Double ordTotalAmount;
private String ordOrderNumber;
private String ordShipToContact;
private String ordShipToMethod;
private String ordShippingStreet;
private String ordShippingCity;
private String ordShippingState;
private String ordShippingPostalCode;
private String ordShippingCountry;
private String ordBillToAttn;
private String ordCustomerPO;
private String ordShipToAttn;
for(Order o : Trigger.New)
{
If(o.Status == 'Activated')
{
ordAccountId = o.AccountId;
ordBillingStreet = o.BillingStreet;
ordBillingCity = o.BillingCity;
ordBillingState = o.BillingState;
ordBillingPostalCode = o.BillingPostalCode;
ordBillingCountry = o.BillingCountry;
ordDescription = o.Description;
ordTotalAmount = o.TotalAmount;
ordOrderNumber = o.OrderNumber;
ordShipToContact = o.Ship_To_Name__c;
ordShippingStreet = o.ShippingStreet;
ordShippingCity = o.ShippingCity;
ordShippingState = o.ShippingState;
ordShippingPostalCode = o.ShippingPostalCode;
ordShippingCountry = o.ShippingCountry;
ordBillToAttn = o.BillToAttn__c;
ordCustomerPO = o.Customer_PO__c;
ordShipToAttn = o.Ship_to_Attention__c;
List<String> ordInvoice = new List<String>();
ordInvoice.add('Account Id: ' + ordAccountId + ', '
+ 'Billing Street: ' + ordBillingStreet + ', '
+ 'Billing City: ' + ordBillingCity + ', '
+ 'Billing State: ' + ordBillingState + ', '
+ 'Billing Postal Code: ' + ordBillingPostalCode + ', '
+ 'Billing Country: ' + ordBillingCountry + ', '
+ 'Description: ' + ordDescription + ', '
+ 'Total Amount: ' + ordTotalAmount + ', '
+ 'Order Number: ' + ordOrderNumber + ', '
+ 'Ship To Contact: ' + ordShipToContact + ', '
+ 'Shippin Street: ' + ordShippingStreet + ', '
+ 'Shipping City: ' + ordShippingCity + ', '
+ 'Shipping State: ' + ordShippingState + ', '
+ 'Shipping Postal Code: ' + ordShippingPostalCode + ', '
+ 'Shipping Country: ' + ordShippingCountry + ', '
+ 'Bill To Attn: ' + ordBillToAttn + ', '
+ 'Customer PO: ' + ordCustomerPO + ', '
+ 'Ship To Attn: ' + ordShipToAttn);
System.debug('Pre JSON: ' + ordInvoice);
String ordInvoiceJSON = JSON.serialize(ordInvoice);
System.debug('Post JSON: ' + ordInvoice);
System.debug('Post JSON: ' + ordInvoicePostJSON);
}
}
}