在實際的軟件開發中,經常需要處理JSON格式的數據。而在C語言中,使用第三方庫進行JSON數據處理難度較大,因此,我們可以使用C API來處理JSON數據。
#include <stdio.h> #include <jansson.h> int main() { char *json_str = "{\"name\":\"Alice\",\"age\":18,\"male\":false}"; json_error_t error; json_t *json = json_loads(json_str, 0, &error); if(!json) { fprintf(stderr, "json load error on line %d: %s\n", error.line, error.text); return 1; } const char *name = json_string_value(json_object_get(json, "name")); int age = json_integer_value(json_object_get(json, "age")); int male = json_boolean_value(json_object_get(json, "male")); printf("Name: %s\nAge: %d\nMale: %s\n", name, age, male ? "true" : "false"); json_decref(json); return 0; }
上述代碼通過C API實現了對JSON數據的解析,實現了輸出姓名、年齡和性別的功能。在代碼中,我們首先定義了一個JSON字符串,然后使用json_loads函數將其解析,若解析錯誤則輸出錯誤信息,最后根據JSON中的鍵值對獲取并輸出所需信息。最后調用json_decref函數釋放JSON對象的內存。
C API通過對JSON數據多種類型的處理函數封裝,實現了JSON數據的快速、高效解析,并且代碼具有良好的可讀性和易于理解的特點。