在C語言中,我們可以使用第三方庫來實現接收JSON數據的功能。其中,最常見且易用的庫就是cJSON了。
cJSON是一款輕巧的、基于ANSI C的JSON解析庫,它不依賴于其他任何庫,可以跨平臺使用。
我們可以使用以下代碼片段來接收JSON數據:
char *json_string = "{\"name\":\"John\", \"age\":23, \"city\":\"New York\"}"; cJSON *root = cJSON_Parse(json_string); if (root != NULL) { cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name"); cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age"); cJSON *city = cJSON_GetObjectItemCaseSensitive(root, "city"); printf("Name: %s\n", cJSON_GetStringValue(name)); printf("Age: %d\n", age->valueint); printf("City: %s\n", cJSON_GetStringValue(city)); cJSON_Delete(root); }
在上述代碼中,我們首先聲明了需要接收的JSON字符串,然后使用cJSON_Parse()函數將其解析成一個cJSON對象。
接下來,我們通過cJSON_GetObjectItemCaseSensitive()函數獲取該JSON對象中的各項數據,并使用cJSON_GetStringValue()函數獲取字符串類型的數據,或使用valueint、valuedouble等獲取其他類型的數據。
最后,我們使用cJSON_Delete()函數將該cJSON對象刪除,釋放內存空間。
這樣,我們就可以輕松地使用cJSON庫來接收JSON數據了。
上一篇c++ json 使用
下一篇c++ json 協議