Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

Insert JSON Array into another JSON Object

See more JSON Examples

Demonstrates how to insert a JSON array into a JSON object.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Imagine we have two separate JSON objects.
  final jsonA = CkJsonObject();
  jsonA.updateString('ciphertext', 'encryptedData');
  jsonA.updateInt('status', 200);
  jsonA.updateString('error', 'errorMsg');

  jsonA.emitCompact = false;
  print(jsonA.emit());

  // jsonA contains:

  // {
  //   "ciphertext": "encryptedData",
  //   "status": 200,
  //   "error": "errorMsg"
  // }

  final jsonB = CkJsonObject();
  jsonB.updateString('users[0].role', 'Surgeon');
  jsonB.updateNewArray('users[0].sub_roles');
  jsonB.updateBool('users[0].viewable_for_sharing', true);
  jsonB.updateInt('users[0].eula_create_date', 123);
  jsonB.updateString('users[1].role', 'Support');
  jsonB.updateString('users[1].sub_roles[0]', 'Tech');
  jsonB.updateString('users[1].sub_roles[1]', 'Service');
  jsonB.updateBool('users[1].viewable_for_sharing', true);
  jsonB.updateInt('users[1].eula_create_date', 123);

  jsonB.emitCompact = false;
  print(jsonB.emit());

  // jsonB contains:

  // {
  //   "users": [
  //     {
  //       "role": "Surgeon",
  //       "sub_roles": [],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 1649108922482
  //     },
  //     {
  //       "role": "Support",
  //       "sub_roles": [
  //         "Tech",
  //         "Service"
  //       ],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 1649108951523
  //     }
  //   ]
  // }

  // Let's say we want to insert jsonB into jsonA to get this:

  // {
  //   "ciphertext": "encryptedData",
  //   "status": 200,
  //   "error": "errorMsg",
  //   "users": [
  //     {
  //       "role": "Surgeon",
  //       "sub_roles": [],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 1649108922482
  //     },
  //     {
  //       "role": "Support",
  //       "sub_roles": [
  //         "Tech",
  //         "Service"
  //       ],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 1649108951523
  //     }
  //   ]
  // }

  // The destination is the empty "users" array, the source is the populated "users" array in jsonB.
  final jsonUsersDest = CkJsonArray();
  jsonA.appendArray2('users', jsonUsersDest);

  final jsonUsersSrc = CkJsonArray();
  jsonB.arrayOf2('users', jsonUsersSrc);

  // Copy the array items from source to dest
  jsonUsersDest.appendArrayItems(jsonUsersSrc);

  print(jsonA.emit());

  // The end result is this:

  // {
  //   "ciphertext": "encryptedData",
  //   "status": 200,
  //   "error": "errorMsg",
  //   "users": [
  //     {
  //       "role": "Surgeon",
  //       "sub_roles": [
  //       ],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 123
  //     },
  //     {
  //       "role": "Support",
  //       "sub_roles": [
  //         "Tech",
  //         "Service"
  //       ],
  //       "viewable_for_sharing": true,
  //       "eula_create_date": 123
  //     }
  //   ]
  // }
}