c語言常被用于系統編程、嵌入式開發等領域,但是在處理數據方面相對較為繁瑣。json是一種輕量級的數據交換格式,它簡潔明了、易于解析,因此在網絡數據傳輸和存儲方面得到廣泛應用。
#include#include #include #include int main(void) { char *json_string = "{\"name\": \"張三\", \"age\": 18, \"sex\": \"male\"}"; cJSON *json = cJSON_Parse(json_string); if (json) { char *name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; char *sex = cJSON_GetObjectItem(json, "sex")->valuestring; printf("name: %s, age: %d, sex: %s\n", name, age, sex); cJSON_Delete(json); } return 0; }
上面的代碼演示了如何使用cJSON解析json字符串。cJSON是一個基于c語言實現的json解析庫,它提供了一系列函數來操作json數據。在上面的例子中,首先使用cJSON_Parse函數將json字符串解析成一個cJSON對象,然后使用cJSON_GetObjectItem函數獲取對象中的各個字段值,并將它們賦值給相應變量。
需要注意的是,cJSON_GetObjectItem函數返回的是一個cJSON對象,需要使用相應的函數來獲取其值,如cJSON_GetObjectItem->valuestring獲取字符串類型的值,cJSON_GetObjectItem->valueint獲取整數類型的值。
cJSON除了支持解析json字符串外,還支持創建和修改json對象、數組等操作,使用起來非常方便。