Search code examples
cjsoncjson

parse json arrays using cJSON library


First off, this is a very broad question, and it might come across as me asking for the community to write my code for me. That is not my intent, but I am so lost, I don't know how to give enough information.

I am attempting to use the cJSON library, written by Dave Gamble, I found this is very useful to use for my embedded device for JSON parse and composing.

to read in the following JSON array

{ 
 "name": "Jack", 
  "types":[23,56,78],
 "format": {
 "type": "rect",
  "width": 1920, } 
}

.. and parsing the getting the object worked with this method

  cJSON *format = cJSON_GetObjectItem(json,"format");

  int framerate = cJSON_GetObjectItem(format,"width")->valueint; 

but I am not able to parse the key "name" and object simple key value ,

I tried this

  cJSON *array = cJSON_GetArrayItem(json,"types"); 

  int value = cJSON_GetArrayItem(format1,1)->valueint;

but did not work, how to parse the array object and simple key value..


Solution

  • I think JSON element should respect key:value format.

    { 
     "name": "Jack", 
      "types":[{"type" : 23}, {"type" : 56}, {"type":78}],
     "format": {
     "type": "rect",
      "width": 1920, } 
    }