最近在使用C語言進行JSON數據解析時,遇到了一個問題:如何將JSON中的某些字段解析成字符串數組。經過一番研究,總結出了以下方法:
//JSON數據樣本 { "city": "Beijing", "language": [ "C", "Python", "Java" ] } //使用cJSON進行解析 cJSON *json = cJSON_Parse(json_text); cJSON *language = cJSON_GetObjectItem(json, "language"); cJSON *lng_item = NULL; int lng_count = cJSON_GetArraySize(language); char *lng_array[lng_count]; //遍歷數組 for (int i = 0; i< lng_count; i++) { lng_item = cJSON_GetArrayItem(language, i); lng_array[i] = cJSON_PrintUnformatted(lng_item); } //輸出結果 for (int i = 0; i< lng_count; i++) { printf("%s\n", lng_array[i]); }
首先,使用cJSON_Parse函數將JSON數據解析成cJSON對象。接著,使用cJSON_GetObjectItem函數獲取JSON中的“language”字段所對應的cJSON對象。然后,使用cJSON_GetArraySize函數獲取該對象中數組元素個數,以此來定義字符串數組,即lng_array。接著,使用for循環遍歷JSON數組,使用cJSON_GetArrayItem函數獲取每個數組元素,再使用cJSON_PrintUnformatted函數將其轉化為字符串形式,并賦值給lng_array。最后,使用for循環輸出結果。
通過以上的實例,希望大家能夠掌握在C語言中使用cJSON解析JSON數據時將特定字段解析為字符串數組的方法。
上一篇c json解析地圖
下一篇python 話單分析