使用 json-glib 库

感觉这是 json的 glib binding.

写了一个例子代码:

#include <stdlib.h>
#include <stdio.h>
#include <glib-object.h>
#include <json-glib/json-glib.h>

int main(void)
{
	JsonBuilder *builder = json_builder_new();

	json_builder_begin_object(builder);
	json_builder_set_member_name(builder, "array");

	json_builder_begin_array(builder);

	json_builder_begin_object(builder);
	json_builder_set_member_name(builder, "name");
	json_builder_add_string_value(builder, "charles");

	json_builder_set_member_name(builder, "age");
	json_builder_add_int_value(builder, 20);
	json_builder_end_object(builder);

	json_builder_begin_object(builder);
	json_builder_set_member_name(builder, "name");
	json_builder_add_string_value(builder, "May");

	json_builder_set_member_name(builder, "age");
	json_builder_add_int_value(builder, 21);
	json_builder_end_object(builder);

	json_builder_end_array(builder);

	json_builder_end_object(builder);

	JsonNode *node = json_builder_get_root(builder);
	g_object_unref( builder);
	JsonGenerator *generator = json_generator_new();
	json_generator_set_root(generator, node);
	gchar *data = json_generator_to_data(generator, NULL);
	printf("%s\n", data);
	json_node_free(node);
	g_object_unref(generator);
	free(data);
	return 0;
}
gcc 1.c -g -o 1 $(pkg-config --cflags --libs json-glib-1.0) 

输出:

{"array":[{"name":"charles","age":20},{"name":"May","age":21}]}

参考:

https://wiki.gnome.org/Projects/JsonGlib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值