0.前言
本文試圖說明如何使用cjson構造各種各樣的json資料報。在前段時間已經寫過一篇cjson的文章,所以本文成為「續集」。
【相關博文】
【 前端學習——json學習】——學習各種各樣的json格式 【
cjson學習筆記】——本學習筆記的前一「集」。
【**倉庫】
—— cjson-example
**倉庫位於bitbucket使用hg(而不是git),hg
在windows或ubuntu上均有很好用的gui工具——tortoisehg,本人愚笨沒能熟練掌握git。
【 tortoisehg使用說明】——如果沒有使用過hg請參考博文,參考clone部分操作即可。
【測試工具】
【ubuntu】eclipse+gcc
【windows】eclipse+mingw
1.重要函式說明
兩個建立
【建立json物件】cjson *cjson_createobject(void);
【建立json陣列】cjson *cjson_createarray(void);
兩種新增
【向物件中新增】void
cjson_additemtoobject(cjson *object,const char *string,cjson *item);
【向陣列中新增】void cjson_additemtoarray(cjson *array, cjson *item);
常用幾招
【向物件中增加數字】cjson_additemtoobject(root, "value", cjson_createnumber(value));
【向物件中增加檔案】cjson_additemtoobject(root, "string", cjson_createstring(string));
json巢狀
【向物件中增加陣列】cjson_additemtoobject(root, "rows", rows = cjson_createarray());
【向陣列中增加物件】cjson_additemtoarray(rows, row = cjson_createobject());
2.建立各種各樣的json資料報
在這裡通過**舉幾個例子,更多的內容請檢視**倉庫中的相關檔案。
json數字
【簡單說明】void create_single_number(void)
#endif
}
cjson_additemtoobject(root, "value", cjson_createnumber(value));
cjson_addnumbertoobject(root, "value", value);
和效果完全相同。
json字串
【簡單說明】void create_single_string(void)
#endif
}
cjson_additemtoobject(root, "name", cjson_createstring(name));
cjson_addstringtoobject(root, "name",name);
和效果完全相同。
json布林型別
【簡單說明】void create_bool(void)
#endif
}
布林型別不需要加引號。
3.json格式巢狀
json格式在使用時往往存在巢狀,例如json物件中巢狀json陣列而json陣列中巢狀json物件,下面就通過幾個簡單的例子說明問題。
json簡單巢狀
json複雜巢狀void create_******(void) ;
root = cjson_createobject(); // 建立根
cjson_additemtoobject(root, "lists", cjson_createintarray(list, 4));
// 列印並釋放
out = cjson_print(root); cjson_delete(root); printf("%s\n",out); free(out);
// 控制台輸出
#if 0
#endif
}
【簡單說明】void create_complex(void) ;
char *url[3] = ;
root = cjson_createobject(); // 建立根
cjson_addnumbertoobject(root, "total", 3);
// 在object中加入array
cjson_additemtoobject(root, "rows", rows = cjson_createarray());
for(i = 0; i < 3; i++)
// 列印並釋放
out = cjson_print(root); cjson_delete(root); printf("%s\n",out); free(out);
// 控制台輸出
#if 0
, , ]
}#endif
}
rows為json物件,rows物件中巢狀json陣列,每乙個json陣列的元素又是乙個json物件,該該物件名為row,row物件中具有兩個鍵值對,分別是titile和url。
持續整合筆記
關注將交易三期退款核心放到cc伺服器上去,每次commit做持續整合。中間需要做很多的事情,比如,單元測試環境的隔離,對payway的mock,靜態檢查,爭取在這個專案8月底完成後,能夠對持續整合有乙個完整的了解和認識。讀 持續整合 軟體質量改進與風險降低之道 的筆記。1 持續整合常用的ant任務 ...
STM32學習筆記之Cjson的使用
需要用到的幾個函式 1 解析jsonj結構得到cjson物件 cjson root cjson parse char buf 2 獲取無格式的json物件 cjson printunformatted cjson item 3 根據鍵值獲取對應的值 cjson cjson getobjectitem...
微軟企業庫4 1學習筆記(七)建立物件 續集1
3.2使用unity模組建立企業庫物件 下面介紹如何使用前面的方法獲取企業庫物件的例項。示例如下 iunitycontainer containter new unitycontainer containter.addnewextension enterpriselibrarycoreextensi...