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;
相關文章
相關標籤/搜索