在C語言中,我們可以使用第三方庫來處理JSON數據。其中比較常用的是cJSON庫。下面我們介紹如何使用cJSON庫來根據路徑獲取JSON數據。
// 引入cJSON庫 #include "cJSON.h" // 定義JSON字符串 char* json_str = "{\"name\":\"Tom\",\"age\":18,\"tags\":[\"play\",\"run\"]}"; // 解析JSON字符串 cJSON* json = cJSON_Parse(json_str); if (!json) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { // 獲取tags數組 cJSON* tags_json = cJSON_GetObjectItem(json, "tags"); // 判斷數組是否存在 if (tags_json) { // 獲取tags數組中第1個元素 cJSON* tag = cJSON_GetArrayItem(tags_json, 0); if (tag) { printf("%s\n", cJSON_Print(tag)); } } // 釋放JSON對象 cJSON_Delete(json); }
以上代碼可以根據JSON的路徑獲取指定的數據。其中,我們使用了cJSON_Parse函數將JSON字符串解析成JSON對象,然后使用cJSON_GetObjectItem和cJSON_GetArrayItem函數獲取JSON對象中的具體元素。