jsonc庫的安裝以及簡單使用

2021-07-11 17:49:58 字數 2733 閱讀 1368

1:cpp在linux下的配置

json 官方的解釋為:json 是一種輕量級的資料傳輸格式。

關於 json 更具體的資訊,可參見 json 官網:

jsoncpp 是比較出名的 c++ json 解析庫。在 json 官網也是首推的。

下面開始說明配置方法:

設定環境變數 # export myscons=解壓的路徑
2、scons部署:進入scons解壓目錄(假定為my

scon

s),執

行pyt

hon myscons/setup.py install將scons部署完畢。

3、使用scons編譯jsoncpp(版本為jsoncpp-src-0.5.0)

進入jsoncpp解壓目錄,執行命令: # python $myscons/script/scons.py platform=linux-gcc

**注:若果提示沒找到scons.py則該為/script/scons platform = linux-gcc

將jsoncpp編譯,在解壓目錄jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了兩個檔案:

libjson_linux-gcc-4.6.1_libmt.a

libjson_linux-gcc-4.6.1_libmt.so

把.a檔案拷貝到/usr/local/lib 目錄下,為了方便編譯給它改個名字libjsonlib.a

4、將jsoncpp目錄下的標頭檔案件拷到自己的工程裡就可以使用了。

例子**:

int main(void)

json::value root;

json::fastwriter fast_writer;

root["region_id"] = "600901";

root["data_total_num"] = "456278";

std::cout << fast_writer.write(root) << std::endl;

return 0;

輸出:

jsonc庫的安裝以及簡單使用

一、安裝

sudo apt-get install gcc libtool autoconf

安裝這三個工具。

2. 按照readme.md檔案,執行以下命令

sh autogen.sh

./configure

make

sudo make install

3. 安裝完後,一般會在/usr/local/include下生成jsonc的標頭檔案,以及在/usr/local/lib下生成jsonc的庫檔案,檢查一下即可。

二、使用

該部分內容引用自

int main(int argc, char **argv)

] } } }」);

printf(「new_obj.to_string()=%s\n」, json_object_to_json_string(new_obj));

new_obj = json_object_object_get(new_obj, 「glossary」);

printf(「new_obj.to_string()=%s\n」, json_object_to_json_string(new_obj));

new_obj = json_object_object_get(new_obj, 「pagecount」);

int pagecount = json_object_get_int(new_obj);

printf(「page count = %d」, pagecount);

json_object_put(new_obj);

return 0;

} 下面,我們對這個例子進行解析:

第8行: 宣告乙個struct json_object型別的指標,struct json_object是用於儲存json資料的一種結構型別。

第11行: 使用json_tokener_parse()函式,將字串化的json資料轉化為struct json_object型別的json

第17行: 與第11行的作用相反,json_object_to_json_string()函式可以將struct json_object型別的json資料轉化為字串。

第18行: 使用json_object_object_get()函式,從struct json_object的json資料中,尋找key為」glossary」的value。並將這個value作為乙個新的struct json_object型別返回。

第21行: json_object_get_int()函式可以將型別為struct json_object的json資料轉化為相應的int型別的資料。與此類似,也有json_object_get_string(), json_object_get_double()等一系列方法。

第23行: json_object_put()函式類似於free()函式,釋放之前分配的new_object所占用的空間。

其實,在安裝jsonc庫之後,我們可以在jsonc的目錄下面找到test資料夾,下面有很多jsonc庫的應用例項可以參考。上面所引用的部落格中的例子,也是改自於test資料夾下面的程式。

上面的例子,只是解釋如何從乙個json字串中獲取到必要的資訊,如果需要組裝自己的json結構,可以參考jsonc api 文件頁面:

share this:

json c 庫的使用方法

引入json c的庫 json c的讀寫操作 讀json c json object pobj null pobj json object from file bob.json 讀檔案裡的資料 pval json object object get jobj,sname type json obje...

SVN 安裝以及簡單使用

記得才到公司實習的時候,由於不會使用svn,稍微的被鄙視了一下,感覺這種基礎的工具都沒用過,挺悲劇的。雖說 經常說 這些又不是天生都會的,誰都是學習來的 但確實,企業不會管這麼多,說這些都是藉口,企業永遠只要能為它創造價值的人,而不是在公司去從頭到尾學習的人。因此,還是從基礎做起,把自己svn 安裝...

git初次使用 安裝以及簡單使用git

由於自己工作年限較短,水平有限,所以準備在js,html,css深度學習,其它如vue,node,git,webpack等暫時進行廣度學習,於是今天嘗試了一下安裝git以及從github裡面clonewebpack專案,在此記錄。2.安裝好git後可以看到有乙個 以下為github上的英文說明的翻譯...