欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 嵌套json解析

張吉惟2年前11瀏覽0評論

C 嵌套 JSON 解析是一種將嵌套的 JSON 數據結構解析為 C 語言中的數據類型的方法。C 語言是一種強類型語言,JSON 數據結構是一種輕量級的數據交換格式,因此,通過解析 JSON 數據結構,我們可以方便地將數據轉換為 C 語言中的類型。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char *json_str = "{\"name\":\"Tom\",\"age\":20,\"address\":{\"city\":\"Beijing\",\"phone\":\"1234567\"}}";
json_t *root;
json_error_t error;
root = json_loads(json_str, 0, &error);
if(root == NULL)
{
printf("Error: on line %d: %s\n", error.line, error.text);
return 1;
}
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
json_t *address = json_object_get(root, "address");
const char *city = json_string_value(json_object_get(address, "city"));
const char *phone = json_string_value(json_object_get(address, "phone"));
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("City: %s\n", city);
printf("Phone: %s\n", phone);
json_decref(root);
return 0;
}

在上面的代碼中,我們使用了 jansson 庫來解析 JSON 數據結構。具體來說,我們通過調用 json_loads 函數將 JSON 字符串轉換為 json_t 類型的對象。然后,我們使用 json_object_get 函數獲取該對象中的字段值,并將其轉換為 C 語言中的數據類型。最后,我們使用 printf 函數將結果輸出到控制臺上。

需要注意的是,當我們使用 jansson 庫解析 JSON 數據結構時,需要先調用 json_decref 函數釋放所分配的內存,以免內存泄漏。