cJSON是一個用C語言實現的輕量級JSON解析器和生成器,它可以讓我們在C語言中使用JSON格式來處理數據。
cJSON *root; char *json_str = "{" "\"name\": \"Jack\"," "\"age\": 20," "\"hobbies\": [\"reading\", \"swimming\"]" "}"; root = cJSON_Parse(json_str); if (root) { cJSON *name = cJSON_GetObjectItem(root, "name"); printf("Name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("Age: %d\n", age->valueint); cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies"); if (cJSON_IsArray(hobbies)) { printf("Hobbies:\n"); for (int i = 0; i< cJSON_GetArraySize(hobbies); i++) { cJSON *hobby = cJSON_GetArrayItem(hobbies, i); printf("- %s\n", hobby->valuestring); } } cJSON_Delete(root); }
在這個例子中,我們定義了一段JSON字符串,并將它解析成了一個cJSON對象。我們可以通過cJSON_GetObjectItem()函數來獲取對象中的某個屬性,例如獲取"name"屬性和"age"屬性。如果一個屬性是一個數組,我們可以通過cJSON_IsArray()和cJSON_GetArrayItem()來獲取數組中的每一個元素。
在使用cJSON操作完JSON數據后,我們可以通過cJSON_Delete()來釋放cJSON對象占用的內存。
上一篇go語言json