C語言作為一種高效、跨平臺的編程語言,在處理JSON數據方面也有其獨特的優勢。若要解析JSON字符串并獲取指定key的值,我們可以使用以下代碼:
#include <stdio.h> #include <string.h> #include <jansson.h> int main() { char *json_str = "{\"name\": \"John\", \"age\": 30, \"gender\": \"male\"}"; // JSON字符串 json_t *root; json_error_t error; root = json_loads(json_str, 0, &error); // 解析JSON字符串 if (!root) { printf("解析JSON錯誤: %s\n", error.text); return 1; } // 獲取name值 json_t *name = json_object_get(root, "name"); if (!json_is_string(name)) { printf("無效的JSON字符串\n"); return 1; } printf("name: %s\n", json_string_value(name)); json_decref(root); // 釋放JSON對象 return 0; }
第一行定義的json_str是我們要解析的JSON字符串,其中的三個數據項分別是"name"、"age"和"gender"。接著使用json_loads()函數將字符串解析為json_t類型的數據結構。
接下來就可以根據具體需求獲取指定的key的值了。這里以獲取"name"為例,使用json_object_get()函數獲取name對應的json_t對象,然后用json_string_value()函數將該對象轉換為字符串并輸出即可。
最后別忘了使用json_decref()函數釋放JSON對象。