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

c json 轉(zhuǎn)換為類

在C語言中,如何將JSON數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的類呢?我們可以使用第三方庫cJSON來實(shí)現(xiàn)這個(gè)過程。
首先,我們需要在代碼中加載cJSON的頭文件:

#include <cJSON.h>

接下來,我們需要定義一個(gè)類來存儲(chǔ)JSON數(shù)據(jù)。我們可以使用結(jié)構(gòu)體來實(shí)現(xiàn)這個(gè)類:

typedef struct {
int id;
char name[50];
float price;
} Product;

這里我們定義了一個(gè)名為Product的類,包含了id、name和price三個(gè)屬性。

接下來,我們需要編寫函數(shù)來將JSON數(shù)據(jù)轉(zhuǎn)換為Product類。我們可以使用cJSON_Parse函數(shù)來將JSON數(shù)據(jù)解析為cJSON對(duì)象,然后使用cJSON_GetObjectItem函數(shù)來獲取對(duì)應(yīng)的屬性值:

Product parseProduct(char *json) {
cJSON *root = cJSON_Parse(json);
Product product;
product.id = cJSON_GetObjectItem(root, "id")->valueint;
strcpy(product.name, cJSON_GetObjectItem(root, "name")->valuestring);
product.price = (float)cJSON_GetObjectItem(root, "price")->valuedouble;
cJSON_Delete(root);
return product;
}

在上面的代碼中,我們首先調(diào)用cJSON_Parse函數(shù)來解析JSON數(shù)據(jù),然后使用cJSON_GetObjectItem函數(shù)來獲取屬性值,最后調(diào)用cJSON_Delete函數(shù)來釋放內(nèi)存。

完整的代碼如下:

#include <cJSON.h>
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[50];
float price;
} Product;
Product parseProduct(char *json) {
cJSON *root = cJSON_Parse(json);
Product product;
product.id = cJSON_GetObjectItem(root, "id")->valueint;
strcpy(product.name, cJSON_GetObjectItem(root, "name")->valuestring);
product.price = (float)cJSON_GetObjectItem(root, "price")->valuedouble;
cJSON_Delete(root);
return product;
}
int main() {
char *json = "{\"id\": 123, \"name\": \"Test\", \"price\": 99.9}";
Product product = parseProduct(json);
printf("ID: %d\n", product.id);
printf("Name: %s\n", product.name);
printf("Price: %.2f\n", product.price);
return 0;
}

以上就是如何使用cJSON將JSON數(shù)據(jù)轉(zhuǎn)換為類的方法。希望對(duì)大家有所幫助。