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

c json與model轉換

錢浩然2年前11瀏覽0評論

JSON是一種常用的數據交換格式,而Model則代表著程序中的對象模型。在C語言中,我們經常需要將JSON數據轉化為對應的Model對象,或將Model對象轉化為JSON數據。

// 一個JSON數據示例
{
"name": "小明",
"age": 18,
"gender": "男",
"score": [90, 95, 80]
}

為了方便地進行JSON與Model之間的轉換,我們可以使用第三方庫 cJSON。

// cJSON的使用示例
#include "cJSON.h"
// 將JSON字符串轉化為cJSON對象
cJSON *json = cJSON_Parse(jsonStr);
// 通過cJSON對象獲取對應的值
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
// 將cJSON對象轉化為JSON字符串
char *jsonStr = cJSON_Print(json);
// 釋放cJSON對象
cJSON_Delete(json);

為了方便地進行Model對象的轉換,我們可以使用結構體來定義我們的Model。

// Model的定義示例
typedef struct {
char *name;
int age;
char *gender;
int score[3];
} Student;
// 將JSON轉化為Student對象
Student *student = (Student *) malloc(sizeof(Student));
student->name = cJSON_GetObjectItem(json, "name")->valuestring;
student->age = cJSON_GetObjectItem(json, "age")->valueint;
student->gender = cJSON_GetObjectItem(json, "gender")->valuestring;
cJSON *score = cJSON_GetObjectItem(json, "score");
for (int i = 0; i< cJSON_GetArraySize(score); i++) {
student->score[i] = cJSON_GetArrayItem(score, i)->valueint;
}
// 將Student對象轉化為JSON
cJSON *json = cJSON_CreateObject();
cJSON_AddStringToObject(json, "name", student->name);
cJSON_AddNumberToObject(json, "age", student->age);
cJSON_AddStringToObject(json, "gender", student->gender);
cJSON *scoreArr = cJSON_CreateIntArray(student->score, 3);
cJSON_AddItemToObject(json, "score", scoreArr);
char *jsonStr = cJSON_Print(json);
// 釋放Student對象和cJSON對象
free(student);
cJSON_Delete(json);

使用cJSON庫可以方便地進行JSON與Model之間的轉換,提高我們的編程效率。