JSON是一種輕量級的數(shù)據(jù)交換格式,已經(jīng)被廣泛應用于互聯(lián)網(wǎng)應用程序中。而C語言是一種十分流行的編程語言,其底層性能得到了很多人的青睞。因此,C語言如何遍歷JSON就成了一個普遍的話題。
在使用C語言遍歷JSON時,需要先引入第三方庫,例如json-c庫。json-c庫提供了一些基本的數(shù)據(jù)結構和方法,可幫助我們解析JSON字符串。
/// 引入頭文件 #include <json-c/json.h> int main() { /// JSON字符串 char* json_str = "{\"name\":\"Tom\",\"age\":18}"; /// 解析JSON字符串 struct json_object* json_obj = json_tokener_parse(json_str); /// 遍歷JSON對象 enum json_type json_type; const char* key; struct json_object* val; json_object_object_foreach(json_obj, key, val) { json_type = json_object_get_type(val); if (json_type == json_type_string) { printf("Key:%s Value:%s\n", key, json_object_get_string(val)); } else if (json_type == json_type_int) { printf("Key:%s Value:%d\n", key, json_object_get_int(val)); } } /// 釋放JSON對象 json_object_put(json_obj); return 0; }
上述代碼首先將JSON字符串解析成json_object對象,然后使用json_object_object_foreach函數(shù)遍歷JSON對象,并通過json_object_get_type和json_object_get_xxx函數(shù)獲取屬性值。
除此之外,json-c庫還提供了其他一些有用的方法,例如json_object_to_json_string、json_object_array_length等。具體可以查看其官方文檔。
總之,在使用C語言處理JSON數(shù)據(jù)時,json-c庫可以幫助我們輕松地完成各種操作,讓我們對JSON數(shù)據(jù)的操作變得更加便捷。