在編程中,JSON是一種非常常見的數(shù)據(jù)格式,而在C語(yǔ)言中將JSON轉(zhuǎn)換為字典(DIC)也是一項(xiàng)非常有用的任務(wù)。下面我們來(lái)看看如何在C語(yǔ)言中實(shí)現(xiàn)JSON到DIC轉(zhuǎn)換。
// 引入JSON庫(kù) #include <json-c/json.h> // JSON字符串 const char *jsonString = "{\"name\":\"張三\",\"age\":18,\"gender\":\"男\(zhòng)"}"; // 解析JSON json_object* jsonObj = json_tokener_parse(jsonString); // 轉(zhuǎn)換為字典 json_object_object_foreach(jsonObj, key, val) { const char* valueString = json_object_get_string(val); dic_insert(key, valueString); }
首先需要引入JSON庫(kù),然后定義一個(gè)JSON字符串。接著我們通過(guò)json_tokener_parse()函數(shù)將JSON字符串解析成了一個(gè)JSON對(duì)象。
接下來(lái)是重點(diǎn),我們通過(guò)json_object_object_foreach()函數(shù)遍歷了JSON對(duì)象,并使用dic_insert()函數(shù)將JSON對(duì)象的鍵和值插入到字典中。
這里稍微講解一下dic_insert()函數(shù),它是一個(gè)用于向字典中插入一個(gè)鍵-值對(duì)的函數(shù),其實(shí)現(xiàn)細(xì)節(jié)可以參考C字典的相關(guān)實(shí)現(xiàn)方法。
解析完JSON并轉(zhuǎn)換為字典后,我們就可以在C語(yǔ)言中非常方便地從字典中獲取JSON中的值了。