Chinaunix首页 | 论坛 | 博客
  • 博客访问: 37794
  • 博文数量: 7
  • 博客积分: 172
  • 博客等级: 入伍新兵
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 22:50
文章分类

全部博文(7)

文章存档

2012年(7)

我的朋友

分类: C/C++

2012-03-23 17:38:32

json不解释了。Cjson操作的库也有好多。比较习惯了json-glib

Json-glibc下序列化的一个库。基于glib,可以解析并生成json文件。

下载:

包含头文件:#include

编译时加:`pkg-config --cflags --libs json-glib-1.0`

其中主要提供三种基本类型:JsonNode JsonArray JsonObject

JsonObject 就是Json中的对象。包含一个或多个健值对。比如{“name”:”john”, “age”:13}

也可以{“name”:”john”, “age”:23, “frieds”:[{“name”:”lili”},{“name”:”mark”}], 像这样包含数组。

JsonArray为数组:可以直接包含基本类型如整形,字符串,也可像上面”friends”那样包含几个object

JsonNode: 可以包含认可基本类型,或者是数组,或者对象。一般用在生成Json数据流的时候需要指定一个根结点。此时可把它们装在jsonnode中。


点击(此处)折叠或打开

  1. //generate
  2. int main(int argc, char* argv[])
  3. {
  4.     g_type_init();
  5.     JsonObject *obj = json_object_new();
  6.     json_object_set_string_member(obj, "name", "john");
  7.     json_object_set_int_member(obj, "age", 18);
  8.     
  9.     JsonArray *arr = json_array_new();
  10.     json_array_add_string_element(arr, "lily");
  11.     json_array_add_string_element(arr, "mark");
  12.     json_object_set_array_member(obj, "friends", arr);

  13.     //generate
  14.     JsonGenerator *g = json_generator_new();
  15.     JsonNode *root = json_node_new(JSON_NODE_OBJECT);
  16.     json_node_set_object(root, obj);
  17.     json_generator_set_root(g, root);
  18.     json_generator_to_file(g, "ex.json", NULL);
  19.     return 0;
  20. }

  21. //prase
  22. int main(int argc, char* argv[])
  23. {
  24.     g_type_init();
  25.     JsonParser *p = json_parser_new();
  26.     gboolean ret;
  27.     ret = json_parser_load_from_file(parser, fill_name, NULL);
  28.     if (!ret)
  29.     {}
  30.     JsonNode *root = json_node_new(JSON_NODE_OBJECT);
  31.     root = json_parser_get_root(parse);
  32.     JsonObject *obj = json_object_new();
  33.     obj = json_node_get_object(root);
  34.     // 以下可对obj进行get操作
  35.     …
  36.     return 0;
  37. }

阅读(4260) | 评论(0) | 转发(0) |
0

上一篇:python c 排序算法实现 插入,合并排序

下一篇:没有了

给主人留下些什么吧!~~