C語言對JSON數據的獲取可以使用第三方庫,如cJSON庫、json-c庫等,這里以cJSON庫為例。
首先我們需要將JSON串解析成cJSON對象:
cJSON *root = cJSON_Parse(jsonStr);
if (!root) {
// 解析失敗
return;
}
然后我們可以通過cJSON對象來獲取對應字段的值:
char* valueStr = cJSON_GetObjectItem(root, "field")->valuestring;
int valueInt = cJSON_GetObjectItem(root, "field")->valueint;
其中,"field"是我們需要獲取的字段名。
如果是需要遍歷JSON結構,可以使用cJSON提供的一些遍歷方法:
cJSON *item = NULL;
cJSON_ArrayForEach(item, root) {
// 遍歷數組類型的字段
char* valueStr = cJSON_GetObjectItem(item, "field")->valuestring;
}
需要注意的是,在使用獲取方法時,需要保證獲取到的cJSON對象非空,否則會程序會崩潰。
此外,還需要注意cJSON對象的釋放問題,在使用完一個cJSON對象后需要調用cJSON_Delete方法釋放掉對象。
cJSON_Delete(root);
上一篇vue eval
下一篇c 對json串排序