在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函数释放字符串内存。