在C語言中,JSON操作是一個(gè)非常常見的需求,其中刪除某個(gè)key也是常見的操作。接下來我們將介紹如何在C中刪除JSON中的某個(gè)key。
//引用json-c庫,需要先安裝,具體安裝參見json-c官網(wǎng) #include <stdio.h> #include <json-c/json.h> int main() { char *json_str = "{\"name\":\"xiao\",\"age\":18,\"sex\":\"male\"}"; struct json_object *json_obj = json_tokener_parse(json_str); //打印json_obj對(duì)象中的key-value printf("刪除前的JSON對(duì)象:%s\n", json_object_to_json_string(json_obj)); json_object_object_del(json_obj, "age");//刪除age這個(gè)key //打印刪除age之后的json_obj對(duì)象中的key-value printf("刪除age之后的JSON對(duì)象:%s\n", json_object_to_json_string(json_obj)); return 0; }
在上述代碼中,我們使用了json-c庫來解析JSON字符串,并通過json_tokener_parse函數(shù)將其轉(zhuǎn)換為json對(duì)象。
接著,我們使用json_object_object_del函數(shù)來刪除json_obj對(duì)象中的“age”這個(gè)key。最后,我們?cè)俅斡胘son_object_to_json_string函數(shù)打印出刪除“age”之后的json_obj對(duì)象中的key-value。
需要注意的是,在使用json_object_object_del函數(shù)刪除某個(gè)key時(shí),如果指定的key不存在,則不做任何操作。