CJSON是一个轻量级的JSON解析库,用于解析和生成JSON数据。
使用CJSON需要以下步骤:
-
定义一个 cJSON 结构体指针来存储解析后的 JSON 数据。
cJSON *json;
-
解析 JSON 字符串,将其转换为 cJSON 结构体对象。
json = cJSON_Parse(json_string);
-
通过 cJSON 提供的 API 来访问和操作 JSON 数据。 例如,可以通过以下方式获取 JSON 对象中的字符串:
cJSON *json_object = cJSON_GetObjectItem(json, "key"); const char *value = https://www.yisu.com/ask/cJSON_GetStringValue(json_object);>
-
释放 cJSON 对象。
cJSON_Delete(json);
此外,CJSON 还提供了一些其他的 API,用于生成 JSON 数据,如创建 JSON 对象、数组、字符串、数字等。
以下是一个简单的例子,演示了如何使用 CJSON 解析和生成 JSON 数据:
#include#include #include "cJSON.h" int main() { const char *json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("Error parsing JSON.\n"); return 1; } cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); cJSON *city = cJSON_GetObjectItem(json, "city"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("City: %s\n", city->valuestring); cJSON_Delete(json); return 0; }
此程序将输出:
Name: John Age: 30 City: New York
以上就是 CJSON 的基本用法。你可以根据实际需求使用 CJSON 提供的其他 API 来解析和生成复杂的 JSON 数据。