json array parsing in c

前端 未结 3 510
深忆病人
深忆病人 2021-01-04 22:32

i am trying to parse a json array,i am facing problem.

My array is like this:

configure: {
  \"id\": 4,
  \"userId\": 107,
  \"deviceMacAddress\": \"         


        
3条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-04 23:02

    You need to access the inner array using a json_object * variable.

    Try this:

    struct json_object *med_obj, *medi_array, *medi_array_obj, *medi_array_obj_name;
    int arraylen, i;
    charname[10] = {0};
    static const char filename[] = "xyz.txt";
    med_obj = json_object_from_file(filename);
    medi_array = json_object_object_get(med_obj, "medication");
    
    // medi_array is an array of objects
    arraylen = json_object_array_length(medi_array);
    
    for (i = 0; i < arraylen; i++) {
      // get the i-th object in medi_array
      medi_array_obj = json_object_array_get_idx(medi_array, i);
      // get the name attribute in the i-th object
      medi_array_obj_name = json_object_object_get(medi_array_obj, "name");
      // print out the name attribute
      printf("name=%s\n", json_object_get_string(medi_array_obj_name));
    }
    

提交回复
热议问题