Sample code for 30+ languages & platforms
C++

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat C++ Downloads

C++
#include <CkJsonArray.h>
#include <CkJsonObject.h>

void ChilkatSample(void)
    {
    const char *strJsonArray = "[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]";

    const char *strJsonObject = "{\"pets\":[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]}";

    // A JSON array must be loaded using JsonArray:
    CkJsonArray jsonArray;
    jsonArray.Load(strJsonArray);

    // Examine the values:
    int i = 0;
    while (i < jsonArray.get_Size()) {
        CkJsonObject *jsonObj = jsonArray.ObjectAt(i);
        std::cout << i << ": " << jsonObj->stringOf("name") << "\r\n";
        delete jsonObj;
        i = i + 1;
    }

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe

    // A JSON object must be loaded using JsonObject
    CkJsonObject jsonObject;
    jsonObject.Load(strJsonObject);

    // Examine the values:
    i = 0;
    int numPets = jsonObject.SizeOfArray("pets");
    while (i < numPets) {
        jsonObject.put_I(i);
        std::cout << i << ": " << jsonObject.stringOf("pets[i].name") << "\r\n";
        i = i + 1;
    }

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe
    }