当先锋百科网

首页 1 2 3 4 5 6 7

使用 C 语言取 JSON 节点是一件比较常见的任务。在 C 语言中,可以使用 cJSON 这个开源库来解析和处理 JSON 数据。

首先,需要在 C 代码中引入 cJSON 库:

#include "cJSON.h"

然后,我们可以从字符串或文件中加载 JSON 数据,并解析成 cJSON 的结构体:

// 从文件中加载 JSON 数据
char* json_data = read_json_file("data.json");
cJSON* json_root = cJSON_Parse(json_data);
// 从字符串中加载 JSON 数据
char* json_string = "{ \"name\": \"小明\", \"age\": 18, \"address\": { \"city\": \"北京\", \"country\": \"中国\" } }";
cJSON* json_root = cJSON_Parse(json_string);

接着,我们可以通过 cJSON 的 API 来获取 JSON 节点的值:

// 获取 JSON 节点的子节点
cJSON* json_address = cJSON_GetObjectItem(json_root, "address");
cJSON* json_city = cJSON_GetObjectItem(json_address, "city");
// 获取 JSON 节点的值
char* city_name = json_city->valuestring;
printf("城市名称: %s", city_name);

当然,我们也可以使用 cJSON 的链式 API 来更简洁地获取 JSON 节点:

char* city_name = cJSON_GetObjectItem(json_root, "address")
->valueobject
->GetItem("city")
->valuestring;
printf("城市名称: %s", city_name);

总之,使用 cJSON 可以很方便地在 C 语言中解析和处理 JSON 数据,使得开发者可以更便捷地与各种互联网服务的 API 接口打交道。