淘先锋技术网

首页 1 2 3 4 5 6 7

C JSON Value是C语言中的一个轻量级JSON库,它被广泛应用于数据交换、网页及移动应用程序中。

#include <cjson/cJSON.h>
int main()
{
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "cjson");
cJSON_AddNumberToObject(root, "version", 2.0);
cJSON_AddTrueToObject(root, "active");
char *json_str = cJSON_Print(root);
printf("%s", json_str);
cJSON_Delete(root);
free(json_str);
return 0;
}

以上代码创建了一个JSON对象,给它加入了三个键值对,并将它转化为JSON字符串输出。其中,cJSON_CreateObject()用于创建一个JSON对象,cJSON_AddXXXToObject()用于向对象中添加键值对,cJSON_Print()并返回转化后的JSON字符串。

除了添加键值对,C JSON Value还支持解析和访问JSON字符串中的数据。以下代码用于解析JSON字符串,访问其中的键值对:

#include <cjson/cJSON.h>
int main()
{
char *json_str = "{\"name\":\"cjson\",\"version\":2.0,\"active\":true}";
cJSON *root = cJSON_Parse(json_str);
if (root != NULL)
{
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *version = cJSON_GetObjectItem(root, "version");
cJSON *active = cJSON_GetObjectItem(root, "active");
printf("name:%s version:%.1f active:%d",
name->valuestring, version->valuedouble, active->valueint);
cJSON_Delete(root);
}
return 0;
}

以上代码解析了一个JSON字符串,通过cJSON_GetObjectItem()函数访问了其中的键值对,并输出了它们的值。注意,在使用cJSON_Parse()函数解析JSON字符串后,需要使用cJSON_Delete()函数释放内存。