在C語言中如何取JSON元素呢?以下是一些示例方法。
#include <stdio.h> #include <jansson.h> int main() { char *json_str = "{\"name\":\"John Smith\",\"age\":30,\"email\":\"john.smith@example.com\"}"; json_error_t error; json_t *json = json_loads(json_str, 0, &error); if (!json) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name = NULL; name = json_object_get(json, "name"); printf("Name: %s\n", json_string_value(name)); json_t *age = NULL; age = json_object_get(json, "age"); printf("Age: %d\n", json_integer_value(age)); json_t *email = NULL; email = json_object_get(json, "email"); printf("Email: %s\n", json_string_value(email)); json_decref(json); return 0; }
在以上示例代碼中,我們首先將一個包含JSON數據的字符串轉換為json_t對象,然后使用json_object_get方法獲取元素值,并轉換為對應的C數據類型。
另外,我們需要注意調用json_decref方法釋放json_t對象,以避免內存泄漏。