c 是一種廣泛使用的編程語言,也被廣泛用于處理 JSON 格式的數據。
要獲取 JSON 字符串中的值,c 有豐富的工具來實現。
首先需要加載 JSON 庫。c 的 JSON 庫有很多,比如 cJSON、Jansson 等。
cJSON 是一個簡單的 JSON 解析器,可以很容易地在 c 代碼中使用。
下面的代碼演示了如何使用 cJSON 庫解析 JSON 字符串:
#include <stdio.h>#include <cJSON.h>int main() { char* json_string = "{\"name\":\"David\", \"age\":30, \"hobby\":[\"reading\",\"swimming\",\"gaming\"]}"; cJSON* json = cJSON_Parse(json_string); cJSON* name = cJSON_GetObjectItem(json, "name"); cJSON* age = cJSON_GetObjectItem(json, "age"); cJSON* hobby = cJSON_GetObjectItem(json, "hobby"); printf("姓名:%s\n", name->valuestring); printf("年齡:%d\n", age->valueint); printf("興趣愛好:\n"); if (cJSON_IsArray(hobby)) { cJSON* item = NULL; cJSON_ArrayForEach(item, hobby) { printf("%s\n", item->valuestring); } } cJSON_Delete(json); return 0; }
上面的代碼首先用 cJSON_Parse() 函數將 JSON 字符串解析為 cJSON 對象。
然后用 cJSON_GetObjectItem() 函數根據 key 獲取 JSON 字段的值。
如果是數組,可以使用 cJSON_ArrayForEach() 函數遍歷數組中的元素。
最后用 cJSON_Delete() 函數釋放 cJSON 對象。
以上就是 c 獲取 JSON 字符串中的值的方法。使用 cJSON 庫,可以很輕松地處理 JSON 格式的數據。
當然,除了 cJSON,也有其他的 JSON 庫可以使用。