【问题标题】:How to create a complex class from a json request如何从 json 请求创建一个复杂的类
【发布时间】:2025-12-26 23:50:07
【问题描述】:

我有两个不同的 json,我想在单个类“响应”中进行转换。 第一个 json 给了我类似的东西:

[
 {
   "id": 1,
   "name": "asd",
   "objects": [
                "id" :  asd
                    ...
                  ]
               }]

还有其他类似的东西:

{
 id : 2
 name : "asd"
}

我试图将它们放入的类是

class Response {
  String name;
  int id;
  Objects object;
}

如您所见,第一个给了我一个元素数组,而第二个没有。我正在尝试使用factory method,但后来我被卡住了。那么,我想做的事情是可能的,还是以另一种方式做更好?

【问题讨论】:

  • 你尝试了什么?
  • 你想在类响应中有一个对象列表吗?
  • 上面的 JSON 无效。

标签: http dart flutter fetch


【解决方案1】:

看看Serializing JSON inside model classes

工厂类是一个好的开始(我不确定 Objects 在您的示例中应该是什么,您的 JSON 无效):

factory Response.fromJson(Map<String, dynamic> json) {
  return Response(
    id: json['id'],
    name: json['name'],
    object: json['object'] == null ? null : Objects.fromJson(json['object'],
  );
}

【讨论】: