在使用C語言處理JSON數據時,有時會遇到JSON字符串里包含了空格的情況。這時需要對JSON字符串進行解析,將其轉換為數組,使得程序能夠更加方便地對JSON數據進行處理。
char *json_str = "{ \"array\": [ \"value1\", \"value2\", \"value3\" ] }"; cJSON *json = cJSON_Parse(json_str); cJSON *array = cJSON_GetObjectItem(json, "array"); int array_size = cJSON_GetArraySize(array); for(int i = 0; i< array_size; i++) { cJSON *item = cJSON_GetArrayItem(array, i); printf("%s ", item->valuestring); }
在上述代碼中,我們先定義了一個JSON字符串,然后通過cJSON_Parse函數將其轉換為一個cJSON對象。接著,通過cJSON_GetObjectItem函數獲取了JSON字符串中名為“array”的數組對象,并用變量array保存了起來。
繼續使用cJSON_GetArraySize函數獲取了數組元素的個數,并使用循環遍歷了每一個數組元素,再使用cJSON_GetArrayItem函數獲取了每一個具體的數組元素。最后,我們通過item->valuestring獲取了具體的元素值,并打印輸出。
需要注意的是,在處理JSON字符串時,如果字符串中包含了空格,那么在使用cJSON_Parse函數解析JSON字符串時,會將空格自動忽略,因此不需要特別處理。但是在獲取具體的數組元素值時,需要使用item->valuestring,而不是item->string,因為item->string會包含空格信息。
上一篇html彈跳球代碼