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

c json互轉實體類

錢衛國2年前10瀏覽0評論

C語言是一種非常流行的編程語言,而JSON是一種輕量級的數據交換格式,兩者的結合,可以讓我們快速地將json數據轉化為C語言的實體類,或是將C語言的實體類轉化為json格式,這個過程我們可以使用C JSON庫。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<jansson.h>
// 定義一個實體類
typedef struct {
int id;
char* name;
float price;
} Product;
// 將實體類轉化為json格式
json_t* product_to_json(Product* product) {
json_t* json = json_object();
json_object_set_new(json, "id", json_integer(product->id));
json_object_set_new(json, "name", json_string(product->name));
json_object_set_new(json, "price", json_real(product->price));
return json;
}
// 將json格式轉化為實體類
Product* json_to_product(json_t* json) {
Product* product = malloc(sizeof(Product));
product->id = json_integer_value(json_object_get(json, "id"));
product->name = strdup(json_string_value(json_object_get(json, "name")));
product->price = json_real_value(json_object_get(json, "price"));
return product;
}
int main() {
// 定義一個Product實體類
Product product = {1, "Apple Watch", 199.99};
// 將實體類轉化為json格式輸出
json_t* json = product_to_json(&product);
char* json_str = json_dumps(json, JSON_INDENT(4));
printf("%s\n", json_str);
// 將json格式轉化為實體類并輸出
Product* product2 = json_to_product(json);
printf("%d %s %f\n", product2->id, product2->name, product2->price);
// 釋放內存
free(product2->name);
free(product2);
json_decref(json);
free(json_str);
return 0;
}

在以上示例代碼中,我們定義了一個Product實體類,然后使用C JSON庫將其轉化為json格式,再將json格式轉化為實體類。通過這種方法,我們可以快速地將需要的數據格式轉化為C語言程序可以使用的實體類,或是將實體類轉化為其他API需要的數據格式,實現數據的交換。