BCB是Borland C++ Builder的簡(jiǎn)稱,是一款廣泛使用的開發(fā)工具。而C JSON解析庫(kù)則是用C語(yǔ)言編寫的用于解析JSON數(shù)據(jù)的庫(kù)。在BCB中使用C JSON解析庫(kù)進(jìn)行JSON數(shù)據(jù)的解析,可以方便快捷地獲取JSON數(shù)據(jù)中所需的信息。
#include "json.h" int main() { //定義json對(duì)象 json_object *jobj = json_object_from_file("data.json"); //獲取name節(jié)點(diǎn)的值 json_object *jname = json_object_object_get(jobj, "name"); const char *name = json_object_get_string(jname); cout<< "name:"<< name<< endl; //獲取age節(jié)點(diǎn)的值 json_object *jage = json_object_object_get(jobj, "age"); int age = json_object_get_int(jage); cout<< "age:"<< age<< endl; //獲取hobby節(jié)點(diǎn)的值 json_object *jhobby = json_object_object_get(jobj, "hobby"); int hobby_len = json_object_array_length(jhobby); for (int i = 0; i< hobby_len; ++i) { json_object *jh = json_object_array_get_idx(jhobby, i); const char *hobby = json_object_get_string(jh); cout<< "hobby"<< i<< ":"<< hobby<< endl; } return 0; }
上述代碼就是使用C JSON解析庫(kù)解析JSON數(shù)據(jù)的示例代碼。首先需要從文件中讀取JSON數(shù)據(jù),然后利用庫(kù)中提供的函數(shù)獲取JSON數(shù)據(jù)中各個(gè)節(jié)點(diǎn)的值。例如,可以通過(guò)json_object_object_get函數(shù)獲取對(duì)象節(jié)點(diǎn)的值,通過(guò)json_object_array_length函數(shù)獲取數(shù)組的長(zhǎng)度,再通過(guò)json_object_array_get_idx函數(shù)獲取具體的數(shù)組元素的值。
在使用C JSON解析庫(kù)時(shí)需要注意的是,需要在代碼中添加上json.h頭文件,在編譯時(shí)需要鏈接json-c庫(kù)。