在C語言中,我們需要對JSON串進行排序的需求是很常見的。排序可以讓我們更方便地查找和處理JSON串中的數(shù)據(jù)。
// 定義JSON串 const char* json_str = "{ \"name\": \"Tom\", \"age\": 20, \"score\": 98.5 }"; // 解析JSON串 cJSON* root = cJSON_Parse(json_str); // 打印排序前的JSON串 char* json_before_sort = cJSON_Print(root); printf("Before sorting:\n%s\n", json_before_sort); // 對JSON串按鍵名進行字典序排序 cJSON_SortObject(root); // 打印排序后的JSON串 char* json_after_sort = cJSON_Print(root); printf("After sorting:\n%s\n", json_after_sort);
在上面的代碼中,我們首先定義了一個JSON串。然后使用cJSON庫中的cJSON_Parse函數(shù)將該JSON串解析為一個cJSON結(jié)構(gòu)體。接著,我們打印出排序前的JSON串。然后使用cJSON_SortObject函數(shù)對解析得到的cJSON結(jié)構(gòu)體進行排序。最后,我們再次打印出排序后的JSON串。
可以看到,排序前的JSON串中,鍵名"age"出現(xiàn)在鍵名"name"之前,但是排序后的JSON串中,"age"鍵出現(xiàn)在"name"鍵之后。這是因為cJSON_SortObject函數(shù)對鍵名進行了字典序排序。
上一篇python 按空格分開
下一篇Python 按季度相加