天天看點

JSON資料解析——jsoncpp的使用

由于工作中需要用到JSON資料,是以解析JSON資料就成了一個非常重要的工作内容。

其實用C++解析資料是很繁雜的任務,涉及到很多的資料處理和資料安全問題。好在網上提供了很多的JSON解析庫,其中不乏很優秀的,出于效率,還是使用這些第三方的庫比較好。我使用的是jsoncpp,這是一個開源的C++的JSON解析庫,我将寫兩篇博文來介紹如何使用jsoncpp,而本文将介紹jsoncpp的添加。

JSON資料解析——jsoncpp的使用
JSON資料解析——jsoncpp的使用

2、打開makefiles檔案夾,裡面是jsoncpp和兩個test的工程,打開工程(我使用的編譯環境是vs2008,原檔案應該是vs2005下開發的,無礙,直接轉換下就好了),紅色方框部分就是jsoncpp的項目

<a href="http://photo.blog.sina.com.cn/showpic.html#blogid=75f1902801015dx6&amp;url=http://s3.sinaimg.cn/orignal/75f19028tc9a14e107fc2" target="_blank"></a>

JSON資料解析——jsoncpp的使用

3、編譯jsoncpp項目,然後在程式目錄的build檔案夾下可以找到編譯好的lib檔案,debug和release下的檔案名不同,debug下是json_vc71_libmtd.lib,release下是json_vc71_libmt.lib。

4、想要在我們的項目中加入jsoncpp庫也很簡單,隻要把jsoncpp的項目的.h檔案和.lib檔案加入到我們的項目中就可以了,注意引用目錄,然後編譯看看有沒有錯誤。

5、Debug模式下編譯,應該是沒有錯誤的,如果出現連結錯誤或者是找不到檔案,請檢視檔案路徑設定對不對。需要注意的是Release模式下編譯,有可能會出現fatal error C1083: 無法打開編譯器生成的檔案:“../../build/vs71/release/lib_json\json_writer.asm”: No such file or directory ,我也出現了這個錯誤。後來在網上查找原因,好像是jsoncpp的項目編譯設定的問題。需要在jsoncpp的項目設定中做如下修改:

<a href="http://photo.blog.sina.com.cn/showpic.html#blogid=75f1902801015dx6&amp;url=http://s11.sinaimg.cn/orignal/75f19028tc9a18538183a" target="_blank"></a>

JSON資料解析——jsoncpp的使用

6、替換新編譯完成的lib檔案,再編譯,就可以通過了,呵呵。

JSON資料解析——jsoncpp的使用

當然,如果你直接把jsoncpp的項目檔案全部拷貝到自己的項目中,也是可以的,但是出于項目管理考慮,還是使用lib比較好。

JSON資料解析——jsoncpp的使用

最後還要說下,下載下傳來的程式使用的是win32的SDK,如果要在其他平台使用,最好是重建立立需要的平台項目(如WinCE),然後把jsoncpp的makefiles檔案夾下的檔案全部添加到新項目中,再編譯。

下篇博文,将要介紹的是jsoncpp解析JSON資料的方法,敬請關注。

JSON資料解析——jsoncpp的使用

繼續閱讀