粘贴JSON数据,一键生成Dart类代码,自带fromJson和toJson方法。纯本地运行,数据不上传,保护隐私。
Dart是Google开发的编程语言,主要用于Flutter跨平台移动应用开发。Flutter应用中几乎所有数据都以JSON格式传输,每个数据模型都需要写fromJson和toJson方法。手动写这些样板代码非常枯燥,JSON转Dart工具可以自动生成带序列化方法的Dart类。
📋 JSON转Dart模型转换公式
转换规则:string -> String,number -> num(或double/int),boolean -> bool,array -> List
📋 JSON类型与Dart类型对照表
| JSON类型 | Dart类型 | 说明 |
|---|---|---|
| string | String | Dart首字母大写 |
| number | num/double/int | 按需选择 |
| boolean | bool | 小写bool |
| array | List<Type> | 泛型列表 |
| object | ClassName | 自定义类 |
| null | Type? | 可空类型 |
📋 JSON转Dart模型规则
JSON Type -> Dart Type: string->String, number->num/double/int, boolean->bool, array->List
生成的类包含fromJson工厂构造函数和toJson方法。字段名自动转为camelCase。空安全模式下可空字段加?后缀。建议配合json_annotation包和json_serializable代码生成器使用,实现自动序列化。
Flutter开发中对接后端API,每个接口的数据模型都需要写Dart类,用工具批量生成效率提升10倍。学习Flutter时,理解JSON序列化的原理,对比生成的代码学习最佳实践。个人项目快速原型开发时,不用手动写数据模型,专注业务逻辑。
将JSON数据粘贴到输入框,设置类名和其他选项,点击「转换」按钮即可生成完整的Dart类代码。生成的代码包含:类定义、构造函数、fromJson工厂方法、toJson方法。如果使用json_serializable包,生成的代码可以直接配合build_runner使用。
Dart空安全要求变量明确区分可空和不可空类型,加问号的类型可以为null,不加的必须有值。本工具默认生成空安全版本,适配Flutter 2.0以上。
fromJson用于把接口返回的Map数据转为Dart对象,toJson用于把对象序列化为Map提交给接口,是Flutter开发中数据序列化的标准方式。
工具会自动识别嵌套的对象结构,生成对应的多个类,外层类引用内层类。数组会生成List泛型,保持完整的层级关系。
本工具直接生成手写的序列化代码,无需依赖和build_runner;json_serializable通过注解自动生成代码,适合大型项目维护。
将生成的Dart类文件放入models目录,在需要的地方import导入。使用时调用 ClassName.fromJson(jsonMap) 从JSON Map创建对象,调用 instance.toJson() 将对象转为JSON Map。配合 json_serializable 包可实现自动序列化。注意处理空安全(null safety),所有可空字段使用 String? 而非 String。