We need to create (Serialize)/ Deserialize JSON using contract class in D365FO.
We can serialzing/ Deserializing in multiple places.
- 1. Using JSON class
- 2. Using Contract classes.
Way 1:
- For serialzing -using JSON Object- Click here
- For serialzing - using contract - Click here
- For Deserializing - Click here
Way 2:
JSON response:
{
"Contract": {
"CustomerId": "Customer 1",
"Name" : "Name 1"
}
}
Below is the Response contract :
[DataContractAttribute] public class responceContract {private Contract CustomerContract; [DataMemberAttribute('Contract'), DataCollection(Types::Class, classStr(Contract)), AifCollectionTypeAttribute('_contractClass', Types::Class, classStr(Contract)), AifCollectionTypeAttribute('return', Types::Class, classStr(Contract))] public Contract parmContract(Contract _CustomerContract = CustomerContract) { CustomerContract = _CustomerContract; return CustomerContract; } }
JSON response:
{
"Contract": [
{
"CustomerId": "Customer 1",
"Name": "Name 1"
},
{
"CustomerId": "Customer 2",
"Name": "Name 2"
}
]
}
Below is the Response contract :
[DataContractAttribute] public class responceContract {private List Customer; [DataMemberAttribute('Contract'), DataCollection(Types::Class, classStr(Customer Contract)), AifCollectionTypeAttribute('_contractClass', Types::Class, classStr(Customer Contract)), AifCollectionTypeAttribute('return', Types::Class, classStr(Customer Contract))] public List parmCustomer(List _contractClass = Customer) { Customer = _Customer; return Customer; } }
Contract class:
private str CustomerId; private str Name;
[DataMemberAttribute('CustomerId')] public Str parmCustomerId(Str _CustomerId = CustomerId) { CustomerId = _CustomerId; return CustomerId; } [DataMemberAttribute('Name')] public Str parmName(Str _Name = Name) { Name = _Name; return Name; }
Keep Daxing!!
No comments:
Post a Comment