91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么定義JsonCpp庫

發布時間:2021-07-19 15:24:02 來源:億速云 閱讀:148 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關C++中怎么定義JsonCpp庫,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

JsonCpp簡介

JsonCpp主要包含三種類型的class:Value Reader Writer。

jsoncpp中所有對象、類名都在namespace json中,包含json.h即可。

注意: Json::Value只能處理ANSI類型的字符串,如果C++程序使用Unicode編碼的,***加一個Adapt類來適配。

下載和編譯

本文運行環境是: Redhat 5.5 + g++version 4.6.1 + GNU Make 3.81 + jsoncpp-0.5.0

下載地址是:http://sourceforge.net/projects/jsoncpp/

解壓之后得到jsoncpp-src-0.5.0文件夾,我們只需要jsoncpp的頭文件和cpp文件,其中jsonscpp的頭文件位于jsoncpp-src-0.5.0includejson,jsoncpp的cpp文件位于jsoncpp-src-0.5.0srclib_json。

這里我列出我們的工作目錄:

jsoncpp/ //工作目錄

|-- include //頭文件根目錄

|  |-- json //json頭文件,對應jsoncpp-src-0.5.0includejson

|-- src //cpp源碼文件根目錄

|-- json //jsoncpp源碼文件,對應jsoncpp-src-0.5.0srclib_json

|-- main.cpp //我們的主函數,調用jsoncpp的示例代碼

|-- makefile //makefile,不用我們多說了吧,不懂請看我博客的makefile***實踐

反序列化Json對象

假設有一個json對象如下:

{  "name": "json″,  "array": [  {  "cpp": "jsoncpp" },  {  "java": "jsoninjava" },  {   "php": "support" }  ]  }

我們要實現這個json的反序列號代碼如下:

voidreadJson() {  usingnamespacestd;  std::stringstrValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";  Json::Reader reader;  Json::Value value;  if(reader.parse(strValue, value))  {  std::stringout= value["name"].asString();  std::cout <<out<<std::endl;  constJson::Value arrayObj = value["array"];   for(unsigned inti = 0;i <arrayObj.size(); i++)  {  if(!arrayObj[i].isMember("cpp"))  continue;  out= arrayObj[i]["cpp"].asString();  std::cout <<out;  if(i != (arrayObj.size() - 1))  std::cout <<std::endl;   }  }  }

序列化Json對象

voidwriteJson() {  usingnamespacestd;  Json::Value root;  Json::Value arrayObj;  Json::Value item;  item["cpp"] = "jsoncpp";  item["java"] = "jsoninjava";  item["php"] = "support";  arrayObj.append(item);  root["name"] = "json";  root["array"] = arrayObj;  root.toStyledString();  std::stringout= root.toStyledString();  std::cout <<out<<std::endl;   }

上述就是小編為大家分享的C++中怎么定義JsonCpp庫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旺苍县| 昌黎县| 本溪市| 德阳市| 陆河县| 大宁县| 鲜城| 岱山县| 巴林右旗| 贵阳市| 通化县| 奇台县| 新民市| 来凤县| 思茅市| 克拉玛依市| 昭觉县| 商洛市| 即墨市| 营山县| 从化市| 夹江县| 武宣县| 大理市| 太白县| 宁强县| 东兴市| 肥西县| 江源县| 府谷县| 泸溪县| 光泽县| 左云县| 黎平县| 内乡县| 新源县| 安陆市| 威宁| 义马市| 平利县| 青岛市|