Sample code for 30+ languages & platforms
C++

Iterate over JSON Array containing JSON Objects

See more JSON Examples

Demonstrates how to load a JSON array and iterate over the JSON objects.

Chilkat C++ Downloads

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

void ChilkatSample(void)
    {
    bool success = false;

    // Loads the following JSON array and iterates over the objects:
    // 
    // [
    // {"tagId":95,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":98,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":101,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":104,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":107,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":110,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":113,"tagDescription":"hola 1","isPublic":true},
    // {"tagId":114,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":111,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":108,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":105,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":102,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":99,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":96,"tagDescription":"hola 2","isPublic":true},
    // {"tagId":97,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":100,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":103,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":106,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":109,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":112,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":115,"tagDescription":"hola 3","isPublic":true},
    // {"tagId":93,"tagDescription":"new tag","isPublic":true},
    // {"tagId":94,"tagDescription":"new tag","isPublic":true},
    // {"tagId":89,"tagDescription":"tag 1","isPublic":true},
    // {"tagId":90,"tagDescription":"tag 2","isPublic":true},
    // {"tagId":91,"tagDescription":"tag private 1","isPublic":false},
    // {"tagId":92,"tagDescription":"tag private 2","isPublic":false}
    // ]

    // Load a file containing the above JSON..
    CkStringBuilder sbJsonArray;
    success = sbJsonArray.LoadFile("qa_data/json/arraySample.json","utf-8");

    CkJsonArray arr;
    success = arr.LoadSb(sbJsonArray);

    int tagId;
    const char *tagDescription = 0;
    bool isPublic;

    int i = 0;
    int count = arr.get_Size();
    CkJsonObject *obj = 0;
    while (i < count) {
        obj = arr.ObjectAt(i);
        tagId = obj->IntOf("tagId");
        tagDescription = obj->stringOf("tagDescription");
        isPublic = obj->BoolOf("isPublic");

        std::cout << "tagId: " << tagId << "\r\n";
        std::cout << "tagDescription: " << tagDescription << "\r\n";
        std::cout << "isPublic: " << isPublic << "\r\n";
        std::cout << "--" << "\r\n";

        delete obj;
        i = i + 1;
    }
    }