色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json 數據格式化輸出

林子帆2年前8瀏覽0評論

在計算機編程中,使用JSON(JavaScript對象表示法)是一種通用的數據格式來傳輸和存儲數據。JSON格式數據具有易讀性、易解析性和易于處理的特點,因此在很多應用程序中被廣泛使用。在C語言中,使用第三方庫來解析和格式化JSON數據是非常常見的。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
const char *json_string =
"{"
"   \"name\": \"Tom\","
"   \"age\": 22,"
"   \"gender\": \"Male\","
"   \"email\": \"tom@foo.com\","
"   \"phone\": [\"123456789\", \"987654321\"],"
"   \"address\": {"
"       \"street\": \"123 Main St.\","
"       \"city\": \"Anytown\","
"       \"state\": \"CA\","
"       \"zip\": \"12345\""
"   }"
"}";
json_error_t error;
json_t *root = json_loads(json_string, 0, &error);
if (!root) {
fprintf(stderr, "error: %s\n", error.text);
return 1;
}
printf("name: %s\n", json_string_value(json_object_get(root, "name")));
printf("age: %d\n", (int)json_integer_value(json_object_get(root, "age")));
printf("gender: %s\n", json_string_value(json_object_get(root, "gender")));
printf("email: %s\n", json_string_value(json_object_get(root, "email")));
json_t *phone = json_object_get(root, "phone");
printf("phone: %s, %s\n", json_string_value(json_array_get(phone, 0)),
json_string_value(json_array_get(phone, 1)));
printf("address: %s, %s, %s %s\n", json_string_value(json_object_get(json_object_get(root, "address"), "street")),
json_string_value(json_object_get(json_object_get(root, "address"), "city")),
json_string_value(json_object_get(json_object_get(root, "address"), "state")),
json_string_value(json_object_get(json_object_get(root, "address"), "zip")));
json_decref(root);
return 0;
}

在這個示例程序中,使用了jansson庫來解析和格式化JSON數據。jansson庫是一個用C語言編寫的開源庫,支持JSON數據解析、生成和處理。在程序中,使用json_loads()函數將JSON格式的字符串解析成json_t對象,然后使用json_object_get()和json_array_get()函數獲取JSON對象和數組中的數據。最后使用json_string_value()和json_integer_value()函數將json_t對象轉換為C語言的字符串和整數類型,并輸出到終端。

在實際的應用程序中,JSON數據解析和格式化是一個非常常見的操作。通過使用jansson庫,可以輕松地將JSON數據轉換為C語言的數據類型,并進行處理和保存。

上一篇vue 掛載
下一篇c json 提交