Dart
Dart
Merge SP-API JSON Order Arrays
See more Amazon SP-API Examples
Demonstrates how to merge JSON arrays for the case of Amazon SP-API orders.Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
// Batch 1 File
final a1 = '{"payload": {"Orders": [{"AmazonOrderId": "1","OrderStatus": "Unshipped"},{"AmazonOrderId": "2","OrderStatus": "Unshipped"}]}';
// Batch 2 File
final a2 = '{"payload": {"Orders": [{"AmazonOrderId": "3","OrderStatus": "Unshipped"},{"AmazonOrderId": "4","OrderStatus": "Unshipped"}]}';
// Required Merged File
// {"payload": {"Orders": [{"AmazonOrderId": "1","OrderStatus": "Unshipped"},{"AmazonOrderId": "2","OrderStatus": "Unshipped"},{"AmazonOrderId": "3","OrderStatus": "Unshipped"},{"AmazonOrderId": "4","OrderStatus": "Unshipped"}]}
final json1 = CkJsonObject();
json1.load(a1);
final json2 = CkJsonObject();
json2.load(a2);
// We're going to add the order records from json2 to json1.
final jarr1 = json1.arrayOf('payload.Orders');
final jarr2 = json2.arrayOf('payload.Orders');
var i = 0;
final numOrders = jarr2.size;
while (i < numOrders) {
final jOrder = jarr2.objectAt(i);
// Assuming non-null return...
jarr1.addObjectCopyAt(-1, jOrder);
i++;
}
// Show the merged JSON.
json1.emitCompact = false;
print(json1.emit());
// Result:
// {
// "payload": {
// "Orders": [
// {
// "AmazonOrderId": "1",
// "OrderStatus": "Unshipped"
// },
// {
// "AmazonOrderId": "2",
// "OrderStatus": "Unshipped"
// },
// {
// "AmazonOrderId": "3",
// "OrderStatus": "Unshipped"
// },
// {
// "AmazonOrderId": "4",
// "OrderStatus": "Unshipped"
// }
// ]
// }
// }
}