Sample code for 30+ languages & platforms
Java 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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.JsonArray;
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        // Imagine we have two separate JSON objects.
        JsonObject jsonA = new JsonObject();
        jsonA.updateString("ciphertext", "encryptedData");
        jsonA.updateInt("status", 200);
        jsonA.updateString("error", "errorMsg");

        jsonA.setEmitCompact(false);
        System.out.println(jsonA.emit());

        // jsonA contains:

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

        JsonObject jsonB = new JsonObject();
        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.setEmitCompact(false);
        System.out.println(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.
        JsonArray jsonUsersDest = new JsonArray();
        jsonA.appendArray2("users", jsonUsersDest);

        JsonArray jsonUsersSrc = new JsonArray();
        jsonB.arrayOf2("users", jsonUsersSrc);

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

        System.out.println(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
        //     }
        //   ]
        // }
    }
}