淘先锋技术网

首页 1 2 3 4 5 6 7

在C语言编程中,解析JSON格式的数据已经成为必不可少的一项技能。JSON是一种轻量级数据交换格式,具有结构化、易读、易解析等优点,被广泛应用于Web服务、移动应用和物联网等领域。

以下是使用C语言解析JSON文件内容的示例代码:

#include <stdio.h>
#include <cJSON.h>
int main() {
char* json_str = "{\"name\": \"Tom\", \"age\": 18, \"gender\": \"Male\"}";
cJSON* root = cJSON_Parse(json_str);
if (!root) {
printf("JSON parse error!\n");
return -1;
}
cJSON* name = cJSON_GetObjectItem(root, "name");
if (!name) {
printf("JSON get name error!\n");
cJSON_Delete(root);
return -1;
}
cJSON* age = cJSON_GetObjectItem(root, "age");
if (!age) {
printf("JSON get age error!\n");
cJSON_Delete(root);
return -1;
}
cJSON* gender = cJSON_GetObjectItem(root, "gender");
if (!gender) {
printf("JSON get gender error!\n");
cJSON_Delete(root);
return -1;
}
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Gender: %s\n", gender->valuestring);
cJSON_Delete(root);
return 0;
}

以上示例代码中,我们使用了cJSON库来解析JSON文件内容。首先,我们定义了一个json_str字符串变量,存储了一个JSON格式的字符串。 接着,我们调用cJSON_Parse函数解析json_str字符串。如果成功解析,则返回一个cJSON对象的指针,否则返回NULL。在这里,我们通过检查root指针是否为空来判断解析是否成功。 然后,我们使用cJSON_GetObjectItem函数来获取JSON对象中的name、age和gender字段。这个函数的第二个参数是字段的名称,返回一个指向该字段的cJSON对象的指针。 最后,我们使用cJSON对象的valuestring和valueint属性来获取字段的值,并将其打印输出。 最后,记得调用cJSON_Delete函数来释放内存。