Я использую cJSON, но почему-то не могу заставить строки работать:
void myfile()
{
cJSON* type = NULL;
char text1[]="{\n\"name\": \"Jack (\\\"Bee\\\") Nimble\", \n\"format\": {\"type\": \"rect\", \n\"width\": 1920, \n\"height\": 1080, \n\"interlace\": false,\"frame rate\": 24\n}\n}";
cJSON * root = cJSON_Parse(text);
cJSON * format = cJSON_GetObjectItem(root,"format");
int framerate = cJSON_GetObjectItem(format,"frame rate")->valueint;
type = cJSON_GetObjectItem(format,"type")->valuestring;
char * rendered = cJSON_Print(root);
cJSON_Delete(root);
printf("rate = %d, type = %s \n", framerate, type) ;
}
Я получаю только мусор. Я также пробовал это, но он даже не скомпилировался:
char *type[] = cJSON_GetObjectItem(format,"type")->valuestring;
cJSON* type = NULL;
,type = %s
- вы уверены, что должны печатать именно так? ЕслиcJSON
не определено какchar
, вы получаете UB. - person user4520   schedule 05.12.2015%s
что мне нужно сделать для этого? - person Tom   schedule 05.12.2015char *type = cJSON_GetObjectItem(format,"type")->valuestring;
иprintf("rate = %d, type = %s \n", framerate, type) ;
переместиться доcJSON_Delete(root);
- person BLUEPIXY   schedule 05.12.2015