2023-08-19jsoncpp數(shù)據(jù)解析

做的jsonde su? chuli


? ? 12,

? ? 12.34,

? ? true,

? ? "tom",

? ? [

? ? ? ? "jack",

? ? ? ? "ace",

? ? ? ? "robin"

? ? ],

? ? {

? ? ? ? "girlfriend" : "lucy",

? ? ? ? "sex" : "woman"

? ? }

]


1.Json基礎(chǔ)知識(shí)

ref:Json,Json以及Json在Qt中的使用 【Qt/C/C++】

2.安裝JsonCpp

開發(fā)環(huán)境ubuntu

sudoapt-getinstalllibjsoncpp-dev

3.jsoncpp的使用

jsoncpp 庫中的類被定義到了一個(gè) Json 命名空間中,建議在使用這個(gè)庫的時(shí)候先聲明這個(gè)命名空間:

usingnamespaceJson;

使用 jsoncpp 庫解析 json 格式的數(shù)據(jù),我們只需要掌握三個(gè)類:

Value 類

這個(gè)類可以看做是一個(gè)包裝器,它可以封裝 Json 支持的所有類型,這樣我們?cè)谔幚頂?shù)據(jù)的時(shí)候就方便多了。

枚舉類型 說明 翻譯

nullValue‘null’ value不表示任何數(shù)據(jù),空值

intValuesigned integer value表示有符號(hào)整數(shù)

uintValueunsigned integer value表示無符號(hào)整數(shù)

realValuedouble value表示浮點(diǎn)數(shù)

stringValueUTF-8 string value表示 utf8 格式的字符串

booleanValuebool value表示布爾數(shù)



arrayValue???? array value (ordered list)表示數(shù)組,即 JSON 串中的 []

objectValue? object value (collection of name/value pairs)表示鍵值對(duì),即 JSON 串中的 {}

––



構(gòu)造函數(shù)

Value 類為我們提供了很多構(gòu)造函數(shù),通過構(gòu)造函數(shù)來封裝數(shù)據(jù),最終得到一個(gè)統(tǒng)一的類型。

// 因?yàn)镴son::Value已經(jīng)實(shí)現(xiàn)了各種數(shù)據(jù)類型的構(gòu)造函數(shù)


Value(ValueType type=nullValue);Value(Int value);Value(UInt value);Value(Int64 value);Value(UInt64 value);Value(doublevalue);Value(constchar*value);Value(constchar*begin,constchar*end);Value(bool value);Value(constValue&other);Value(Value&&other);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容