当先锋百科网

首页 1 2 3 4 5 6 7

C语言中的Json接收数据格式一般使用cJSON库来解析Json数据。cJSON是一个轻量级的Json解析器,压缩体积小,易于使用。

在使用cJSON解析Json数据前,首先需要将Json数据读入到一个char数组中,并将该数组传入cJSON库中的cJSON_Parse()函数中,解析完成后通过cJSON_GetObjectItem()和其他相关函数获取Json中的各项数据。

char* json_str = "{\"name\":\"小明\", \"age\":20, \"gender\":\"男\"}";
 cJSON* root = cJSON_Parse(json_str);
cJSON* name = cJSON_GetObjectItem(root, "name");
 cJSON* age = cJSON_GetObjectItem(root, "age");
 cJSON* gender = cJSON_GetObjectItem(root, "gender");
printf("name: %s\n", name->valuestring);
 printf("age: %d\n", age->valueint);
 printf("gender: %s\n", gender->valuestring);

在上面的代码中,我们首先定义了一个Json字符串,然后将该字符串传入cJSON_Parse()函数中进行解析。解析过程完毕后,我们分别使用cJSON_GetObjectItem()函数获取Json中的每一个子项,通过valuestringvalueint可以获取到对应的值。

需要注意的是,在使用cJSON_Parse()函数解析Json字符串时,如果字符串格式有误,将会返回NULL,因此在使用之前需要对返回值进行判断,确保解析过程中不会发生异常。