C JSON轉(zhuǎn)字典是常見的編程需求之一,因?yàn)樵趯?shí)際的開發(fā)中經(jīng)常需要將JSON格式的數(shù)據(jù)轉(zhuǎn)換為字典進(jìn)行操作。下文將介紹如何使用C語言進(jìn)行JSON轉(zhuǎn)字典的操作。
// json-c #include <stdlib.h> #include <json-c/json.h> // 將JSON字符串轉(zhuǎn)換為字典 json_object* json_str_to_dict(const char* json_str) { json_object* obj = json_tokener_parse(json_str); return obj; } // 從字典中獲取字符串 const char* dict_get_string(json_object* dict, const char* key) { json_object* value = NULL; if (json_object_object_get_ex(dict, key, &value)) { return json_object_get_string(value); } return NULL; } int main() { const char* json_str = "{"name":"John", "age":30, "city":"New York"}"; json_object* dict = json_str_to_dict(json_str); const char* name = dict_get_string(dict, "name"); printf("Name: %s\n", name); // 輸出 Name: John json_object_put(dict); // 釋放對象 return 0; }
以上代碼通過使用json-c庫提供的API實(shí)現(xiàn)了將JSON字符串轉(zhuǎn)換為字典,并通過自定義函數(shù)獲取字典中指定鍵的值。在使用過程中需要注意的是,由于使用了動態(tài)內(nèi)存分配,需要手動釋放對象以避免內(nèi)存泄漏。