Skip to content

cJson Parse and Stringify Json in C

nexssp edited this page Jan 27, 2020 · 2 revisions

In Nexss Programmer we have decided to use cJson library which can be found here Dave Gamble - cJson

cJSON * root = cJSON_Parse(my_json_string);
cJSON *format = cJSON_GetObjectItem(root, "format");
cJSON *framerate_item = cJSON_GetObjectItem(format, "frame rate");
double framerate = 0;
if (cJSON_IsNumber(framerate_item))
{
  framerate = framerate_item->valuedouble;
}

Change value

cJSON *framerate_item = cJSON_GetObjectItem(format, "frame rate");
cJSON_SetNumberValue(framerate_item, 25);

Create Json

cJSON *root;
cJSON *fmt;
root = cJSON_CreateObject();
cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble"));
cJSON_AddItemToObject(root, "format", fmt = cJSON_CreateObject());
cJSON_AddStringToObject(fmt, "type", "rect");
cJSON_AddNumberToObject(fmt, "width", 1920);
cJSON_AddNumberToObject(fmt, "height", 1080);
cJSON_AddFalseToObject (fmt, "interlace");
cJSON_AddNumberToObject(fmt, "frame rate", 24);

Clone this wiki locally