C JSON是一個快速的JSON解析庫,它可以輕松地將JSON字符串解析成C語言的數據結構。但有時候,我們只需要從JSON中獲取部分信息,而不需要全部解析。這時候就可以用到剔除信息的功能。
// 示例JSON字符串 char* json_data = "{\"name\" : \"John\", \"age\" : 32, \"city\" : \"New York\"}"; // 創建一個JSON對象 cJSON* root = cJSON_Parse(json_data); // 剔除city信息 cJSON_DeleteItemFromObject(root, "city"); // 打印剔除后的JSON文本 char* new_json = cJSON_Print(root); printf("%s", new_json); // 輸出結果為:{"name":"John","age":32}
在上面的代碼中,我們首先創建了一個JSON對象,并解析了示例JSON字符串。然后,通過cJSON_DeleteItemFromObject函數,我們剔除了其中的city信息。最后,通過cJSON_Print函數打印出剔除后的JSON文本。
需要注意的是,cJSON_DeleteItemFromObject函數只能用于對象類型的節點,而無法用于數組類型的節點。如果需要剔除數組中的信息,可以先通過cJSON_GetArrayItem函數獲取到數組節點,再使用cJSON_DeleteItemFromArray函數來刪除指定的元素。