在C語言中,我們可以使用Json-c庫來處理JSON格式的數(shù)據(jù)。在處理JSON數(shù)據(jù)時,我們有時會需要獲取某個特定的值,比如說,獲取某個鍵值對的值或者獲取某個嵌套對象中的值。下面我們就來看看在C語言中如何取JSON某個值。
//首先,我們需要導(dǎo)入Json-c庫 #include <json-c/json.h> //假設(shè)有一個JSON格式的字符串 char* json_str = "{\"name\": \"John\", \"age\": 18, \"address\":{\"city\":\"Shanghai\", \"street\":\"Nanjing Road\"}}"; //將字符串轉(zhuǎn)化為JSON對象 json_object* jobj = json_tokener_parse(json_str); //獲取鍵值對的值 json_object* name_obj = json_object_object_get(jobj, "name"); const char* name = json_object_get_string(name_obj); //獲取字符串類型 json_object* age_obj = json_object_object_get(jobj, "age"); int age = json_object_get_int(age_obj); //獲取數(shù)值類型 //獲取嵌套對象中的值 json_object* address_obj = json_object_object_get(jobj, "address"); json_object* city_obj = json_object_object_get(address_obj, "city"); const char* city = json_object_get_string(city_obj); json_object* street_obj = json_object_object_get(address_obj, "street"); const char* street = json_object_get_string(street_obj);
在上面的代碼中,我們使用了json_tokener_parse()
方法將JSON字符串解析為JSON對象。之后,我們使用json_object_object_get()
方法獲取鍵值對的值或者獲取嵌套對象中的值。最后,我們將獲取到的值進(jìn)行類型轉(zhuǎn)換,以滿足我們需要的類型。