C
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
#include <C_CkStringBuilder.h>
#include <C_CkJsonArray.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
BOOL success;
HCkStringBuilder sbJsonArray;
HCkJsonArray arr;
int tagId;
const char *tagDescription;
BOOL isPublic;
int i;
int count;
HCkJsonObject obj;
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..
sbJsonArray = CkStringBuilder_Create();
success = CkStringBuilder_LoadFile(sbJsonArray,"qa_data/json/arraySample.json","utf-8");
arr = CkJsonArray_Create();
success = CkJsonArray_LoadSb(arr,sbJsonArray);
i = 0;
count = CkJsonArray_getSize(arr);
while (i < count) {
obj = CkJsonArray_ObjectAt(arr,i);
tagId = CkJsonObject_IntOf(obj,"tagId");
tagDescription = CkJsonObject_stringOf(obj,"tagDescription");
isPublic = CkJsonObject_BoolOf(obj,"isPublic");
printf("tagId: %d\n",tagId);
printf("tagDescription: %s\n",tagDescription);
printf("isPublic: %d\n",isPublic);
printf("--\n");
CkJsonObject_Dispose(obj);
i = i + 1;
}
CkStringBuilder_Dispose(sbJsonArray);
CkJsonArray_Dispose(arr);
}