#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
char* json_string = "{\"name\":\"Alice\",\"age\":20}";
cJSON* json = cJSON_Parse(json_string);
if (json == NULL) {
printf("Parsing JSON failed.\n");
exit(1);
}
printf("Name: %s\n", cJSON_GetObjectItem(json, "name")->valuestring);
printf("Age: %d\n", cJSON_GetObjectItem(json, "age")->valueint);
cJSON_Delete(json);
return 0;
}
在這個例子中,我們定義了一個JSON格式的字符串,使用cJSON_Parse函數將其轉換成一個cJSON對象。然后分別使用cJSON_GetObjectItem函數取出名為"name"和"age"的成員,并打印出來。最后使用cJSON_Delete函數清理內存并退出程序。
除了解析JSON,cJSON還可以生成JSON字符串。下面是一個簡單的例子:
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
cJSON* json = cJSON_CreateObject();
cJSON_AddStringToObject(json, "name", "Alice");
cJSON_AddNumberToObject(json, "age", 20);
char* json_string = cJSON_Print(json);
printf("JSON string: %s\n", json_string);
free(json_string);
cJSON_Delete(json);
return 0;
}
在這個例子中,我們使用cJSON_CreateObject函數創建一個空的cJSON對象。然后使用cJSON_AddStringToObject和cJSON_AddNumberToObject函數依次往里面添加成員。最后使用cJSON_Print函數將其轉換成JSON格式的字符串,并打印出來。
使用cJSON可以快速方便地解析和生成JSON格式的數據,是進行網絡通信時的有力工具。