C反序列化本地JSON是一种将JSON数据转换为C语言结构的过程。这种操作很常见,因为许多API返回的数据格式是JSON。在C语言中,我们可以使用cJSON库来方便地对JSON数据进行反序列化。
首先,我们需要将JSON数据读入C语言中的char数组中。这可以通过一些库函数完成,例如fread()函数。接下来,我们使用cJSON库来解析JSON数据并将其存储在C语言结构中。
// 读取JSON数据 char jsonBuffer[1024]; FILE *fp = fopen("data.json","r"); fread(jsonBuffer,1,1024,fp); fclose(fp); // 解析JSON数据 cJSON *root = cJSON_Parse(jsonBuffer); if (root == NULL) { // 解析失败 return; } // 从JSON结构中获取数据 char *name = cJSON_GetObjectItem(root,"name")->valuestring; int age = cJSON_GetObjectItem(root,"age")->valueint;
在这个示例中,我们首先使用fread()函数将"data.json"文件中的JSON数据读取到jsonBuffer数组中。然后,我们使用cJSON_Parse()函数将jsonBuffer中的JSON数据解析为C语言结构。
最后,我们使用cJSON_GetObjectItem()函数从C语言结构中获取具体数据。在这个示例中,我们获取了"name"和"age"两个字段的值。