• 注册
当前位置:代码四四五 > 默认分类 >正文

c json 转 model

在C语言中,处理JSON数据时需要将其转换为模型(Model)对象,以便更方便地操作和使用。下面我们介绍一种常用的方式:使用第三方库来转换JSON到Model。

#include 
#include 
typedef struct {
int id;
char name[20];
double score;
} Student;
int main() {
const char *json_str = "{\"id\":1001,\"name\":\"Tom\",\"score\":90.5}";
json_t *root;
json_error_t error;
Student stu;
root = json_loads(json_str, 0, &error);
if (!root) {
printf("json error on line %d: %s\n", error.line, error.text);
return 1;
}
json_unpack(root,
"{s:i, s:s, s:f}",
"id", &stu.id,
"name", stu.name,
"score", &stu.score);
printf("id=%d, name=%s, score=%f\n", stu.id, stu.name, stu.score);
json_decref(root);
return 0;
}

这里我们使用了json-c这个第三方库来处理JSON数据。首先,我们将JSON串转换为json_t对象,这个对象表示了一个JSON数据结构。如果转换失败,则可以通过json_error_t对象来获得错误信息。

然后,我们使用json_unpack()函数来将json_t对象转换为我们定义的Student结构体。这里的第一个参数是要转换的json_t对象,第二个参数是格式化字符串,用于指定将JSON数据的哪些字段转换到哪些结构体成员变量中。例如,我们以s为前缀表示字符串类型,i为前缀表示整型,f为前缀表示浮点数。我们还可以使用数组、嵌套的方式来表示更复杂的类型。

最后,我们输出Student结构体的成员变量,可以看到JSON数据已经被成功地转换为了C语言中的模型对象。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 162202241@qq.com

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录
相关推荐