JSON和jsoncpp库

  JSON是一种轻量级的数据交换格式,易于人编写和阅读,同时也易于机器解析和生成。
  JSON建构于两种结构:对象(名称/值对的集合)、数组(值的有序列表),其中名称是一个字符串,值的类型包括:字符串、数字、布尔值、对象、数组、null值。
  jsoncpp是一个使用C++语言实现的面向对象的json库,提供的接口有3个核心类:Reader、Writer、Value。
  Reader类负责从字符串或者输入流中加载JSON文档,并进行解析,生成代表JSON文档的Value对象;Writer类负责将内存中的Value对象转换成JSON文档,输出到文件或者字符串中;Value类的对象代表一个JSON值,既可以代表一个文档,也可以代表文档中一个值。
  要创建代表如下JSON文档的Value对象:
  {
         "Type": "USER_INFO",
         "Data": 
               {
                    "id": 1,
                    "name": "spring",
                    "server": 
                         {
                              "homeserver": 1001,
                              "visitserver": 1003
                         },
                    "skillids":
                         [
                              1,3,5
                         ]
               }
  }
  需要如下代码:
Value Root(objectValue);
Root["Type"]="USER_INFO";
Value Data(objectValue);
Data["id"]=1;
Data["name"]="spring";
Value _server(objectValue);
_server["homeserver"]=1001;
_server["visitserver"]=1003;
Data["server"]=_server;
Value _skillids(objectValue);
_skillids.append(1);
_skillids.append(3);
_skillids.append(5);
Data["skillids"]=_skillids;
Root["Data"]=Data;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。