Deserialize JSON list Dynamics 365 FO
JSON:
{
"data": [
{
"BuyerEmail": "6x7n35tz50m0byz@marketplace.amazon.co.uk",
"AmazonOrderId": "204-1744774-4556347"
},
{
"BuyerEmail": "hnfgtmnkrgfh3v7@marketplace.amazon.co.uk",
"AmazonOrderId": "204-4589988-8749964"
}
]
}
Class LSAPIINTSPAPIOrderOrderCallResponseDataContract:
[DataContract]
class LSAPIINTSPAPIOrderOrderCallResponseDataContract
{
List subList;
[DataMemberAttribute('data'),
DataCollectionAttribute(Types::Class, classStr(LSAPIINTSPAPIOrderOrderCallResponseContract)),sysoperationdisplayorderattribute('1')]
public List parmSubList(List _subList = subList)
{
subList = _subList;
return subList;
}
}
Class LSAPIINTSPAPIOrderOrderCallResponseContract:
[DataContract]
class LSAPIINTSPAPIOrderOrderCallResponseContract
{
str BuyerEmail;
str AmazonOrderId;
[DataMemberAttribute('BuyerEmail')]
public str parmBuyerEmail(str _BuyerEmail = BuyerEmail)
{
BuyerEmail = _BuyerEmail;
return BuyerEmail;
}
[DataMemberAttribute('AmazonOrderId')]
public str parmAmazonOrderId(str _AmazonOrderId = AmazonOrderId)
{
AmazonOrderId = _AmazonOrderId;
return AmazonOrderId;
}
}
Below code for deserialize:
LSAPIINTSPAPIOrderOrderCallResponse LSAPIINTSPAPIOrderOrderCallResponseLocal;
LSAPIINTSPAPIOrderOrderCallResponseDataContract LSAPIINTSPAPIOrderOrderCallResponseDataContract;
List listValues = new List(Types::Class);
ListEnumerator listEnumerator;
LSAPIINTSPAPIOrderOrderCallResponseDataContract = FormJsonSerializer::deserializeObject(classNum(LSAPIINTSPAPIOrderOrderCallResponseDataContract), _record);
listValues = LSAPIINTSPAPIOrderOrderCallResponseDataContract.parmSubList();
listEnumerator = listValues.getEnumerator();
while(listEnumerator.moveNext())
{
LSAPIINTSPAPIOrderOrderCallResponseContract _Contract = listEnumerator.current();
LSAPIINTSPAPIOrderOrderCallResponseLocal.POAmazonOrderId = _Contract.parmAmazonOrderId();
LSAPIINTSPAPIOrderOrderCallResponseLocal.POBuyerInfoBuyerEmail = _Contract.parmBuyerEmail();
LSAPIINTSPAPIOrderOrderCallResponseLocal.insert();
}