欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++中怎么定義JsonCpp庫

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)C++中怎么定義JsonCpp庫,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)是一家專業(yè)提供上思企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為上思眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。

JsonCpp簡介

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

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

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

下載和編譯

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

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

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

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

jsoncpp/ //工作目錄

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

|  |-- json //json頭文件,對應(yīng)jsoncpp-src-0.5.0includejson

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

|-- json //jsoncpp源碼文件,對應(yīng)jsoncpp-src-0.5.0srclib_json

|-- main.cpp //我們的主函數(shù),調(diào)用jsoncpp的示例代碼

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

反序列化Json對象

假設(shè)有一個json對象如下:

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

我們要實現(xiàn)這個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庫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標(biāo)題:C++中怎么定義JsonCpp庫
本文網(wǎng)址:http://chinadenli.net/article12/gjcpgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化域名注冊、網(wǎng)站策劃網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)