JSON格式數據在現代編程中越來越常見。在C語言中,我們可以使用一些開源的JSON解析庫來解析JSON格式數據。常用的JSON解析庫有cJSON和jansson。
下面我們來看看cJSON庫如何解析JSON格式數據。
cJSON *root = cJSON_Parse(jsonStr); //將JSON格式字符串解析成cJSON對象 if (root == NULL) { printf("Parse error: %s\n", cJSON_GetErrorPtr()); //解析失敗打印錯誤信息 return -1; } cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name"); //獲取指定字段對應的cJSON對象 if (cJSON_IsString(name) && (name->valuestring != NULL)) { //判斷是否為字符串類型并且不為NULL printf("Name: %s\n", name->valuestring); //打印字符串值 } cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age"); if (cJSON_IsNumber(age)) { //判斷是否為數值類型 printf("Age: %d\n", age->valueint); //打印數值值 } cJSON_Delete(root); //釋放內存
上面的代碼通過cJSON庫解析JSON格式數據,獲取指定字段對應的值,最后釋放內存。
總之,C語言中的JSON解析庫使我們很容易地解析JSON格式數據。我們只需要使用相應的解析庫,然后按照庫提供的API進行操作即可。