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

c json對象轉結構

錢淋西2年前8瀏覽0評論

C語言中,有許多時候需要從JSON格式的字符串中提取數據,這時候就需要用到JSON對象轉結構的方法。本文將介紹如何使用C語言將JSON字符串轉換為結構體。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
typedef struct {
int id;
char name[20];
double score;
} Student;
int main() {
// 定義JSON對象
char *json_string = "{\"id\":20210001,\"name\":\"Tom\",\"score\":89.5}";
json_t *root = NULL;    // root指向根元素
json_error_t error;     // 錯誤對象
root = json_loads(json_string, 0, &error);    // JSON字符串解析為JSON對象
if (!root) {
printf("Error in line %d: %s\n", error.line, error.text);
exit(1);
}
// 將JSON對象轉換為結構體
Student student;
student.id = json_integer_value(json_object_get(root, "id"));
strcpy(student.name, json_string_value(json_object_get(root, "name")));
student.score = json_real_value(json_object_get(root, "score"));
printf("ID: %d\n", student.id);
printf("Name: %s\n", student.name);
printf("Score: %.2f\n", student.score);
json_decref(root);    // 釋放內存
return 0;
}

上述代碼中,我們使用jansson庫提供的json_loads函數將JSON字符串解析為JSON對象,并從中提取出相應字段的值,最后將值存儲到結構體中。注意,讀取不同數據類型的函數不同,需仔細查看jansson庫的API文檔。

使用C語言將JSON字符串轉換為結構體,可以很方便地進行數據的處理和存儲,是日常開發中十分常見的操作。

上一篇vue $on接收