当先锋百科网

首页 1 2 3 4 5 6 7

在C语言中,有时我们需要将一个字典或键值对转换成JSON格式的数据,以便于传输或存储。下面我们来看一下如何在C语言中将字典转化成JSON。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main() {
json_t *root = json_object(); //创建JSON对象
json_object_set_new(root, "name", json_string("张三")); //添加键值对
json_object_set_new(root, "age", json_integer(18));
char *json_str = json_dumps(root, JSON_INDENT(2)); //将JSON对象转化成字符串
printf("JSON字符串为:%s\n", json_str);
free(json_str); //释放字符串内存
json_decref(root); //释放JSON对象内存
return 0;
}

上面的代码中,我们首先使用json_object函数创建了一个空的JSON对象。然后使用json_object_set_new函数为这个对象添加了两个键值对,一个是“name”键对应的字符串值“张三”,另一个是“age”键对应的整数值18。

接着,我们使用json_dumps函数将这个JSON对象转化成一个JSON字符串,并使用JSON_INDENT宏设置了缩进格式。最后将这个JSON字符串打印输出了出来。

最后需要注意的是,我们需要在程序结束时释放申请的内存,使用json_decref函数释放JSON对象内存,使用free函数释放字符串内存。