C JSON庫是一個快速,輕量級,可移植的JSON解析器和生成器。它可以用于在C和C++應用程序之間序列化和反序列化數據。如果您需要以JSON格式交換數據,那么這是一個值得考慮的庫。
下面是一些使用C JSON庫的例子:
#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main()
{
cJSON *root = cJSON_CreateObject();
cJSON *person = cJSON_CreateObject();
cJSON *name = cJSON_CreateString("John");
cJSON *age = cJSON_CreateNumber(25);
cJSON_AddItemToObject(root, "person", person);
cJSON_AddItemToObject(person, "name", name);
cJSON_AddItemToObject(person, "age", age);
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
cJSON_Delete(root);
free(json_str);
return 0;
}
在這個例子中,我們創建了一個JSON對象,并向其中添加一個名為“person”的子對象。該子對象包含一個名為“name”的字符串和一個名為“age”的數字。最后,我們將對象打印為JSON字符串。
C JSON庫還支持從JSON字符串中解析數據。以下是一個例子:
#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main()
{
char *json_str = "{\"person\":{\"name\":\"John\",\"age\":25}}";
cJSON *root = cJSON_Parse(json_str);
cJSON *person = cJSON_GetObjectItem(root, "person");
cJSON *name = cJSON_GetObjectItem(person, "name");
cJSON *age = cJSON_GetObjectItem(person, "age");
printf("%s is %d years old\n", name->valuestring, age->valueint);
cJSON_Delete(root);
return 0;
}
在這個例子中,我們將JSON字符串解析為JSON對象,并對其進行操作。我們獲取“person”對象并從中獲取“name”和“age”屬性。最后,我們將值打印到終端。
總之,C JSON庫是一個實用的庫,可用于在C和C++應用程序之間序列化和反序列化數據。如果您需要以JSON格式交換數據,那么這是一個值得考慮的庫。
下一篇mysql值唯一性