我用qt&c++寫了json檔案填寫編輯的功能,因為不能重複更新word檔案中的書籤,所以寫了一段c#讀json檔案的函式,以便於在c#中更新word的書籤。發現c#處理json檔案也非常方便。
劃重點:encoding.default保證中文正常顯示
streamreader streamreader = new streamreader(jsonfile,encoding.default);
string jsonroot = streamreader.readtoend(); //讀全部json
dynamic objroot = jsonconvert.deserializeobject(jsonroot); //轉json物件
我習慣於把引數都放在乙個json檔案中,好處是管理起來比價方便。缺點是在c++中申請char 陣列時長度一定要足夠長。而在c#中就放在string中就不用管長度的問題。
當json檔案很複雜的情況下,**會很長不易於維護,因此我習慣於把json檔案中的引數拆分出來,這就需要拆分json檔案。
拆分json很簡單,取出子串,然後轉換成json資料格式即可。
json檔案的一級物件如下拆分:
string jsonprojinfo = objroot["projinfo"].tostring(); //取子串
dynamic objprojinfo = jsonconvert.deserializeobject(jsonprojinfo); //子串轉物件
json檔案的二級物件如下拆分:
string jsoncheckbox = objroot["preexplora"]["checkbox"].tostring();
dynamic objcheckbox = jsonconvert.deserializeobject(jsoncheckbox)
bool bselected = objcheckbox[i]["selected"] // 布林變數
string stritem=objcheckbox[i]["item"].tostring() //字元變數
c#處理json檔案的效率不是最快的,但**很簡潔,便於維護。在資料量不大的情況下用c#處理json也是乙個好的選擇。我剛接觸c#和qt,不當之處請諒解。 讀取本地json檔案,解析json
data.json 檔案同目錄下 import json 引入模組 count 1 開啟乙個json檔案 data open data.json encoding utf 8 轉換為python物件 strjson json.load data flag false lockflag false w...
讀取本地json檔案,解析json 例項講解
模擬使用者登入 data.json 檔案同目錄下 import json 引入模組 count 1 開啟乙個json檔案 data open data.程式設計客棧json encoding utf 8 轉換為python物件 strjson json.load data flag false lo...
C 讀取json檔案內容
int main int argc,const char argv return runtest opts catch const std exception e std string strvalue json reader reader json解析 json value value 表示乙個j...