Skip to content

What I do is generate dart beans based on json, as well as generics parameters and json build instances

License

Notifications You must be signed in to change notification settings

devinzhao123/FlutterJsonBeanFactory

 
 

Repository files navigation

FlutterJsonBeanFactory

Hi,Welcome to come to see me! What I do is generate dart beans based on json, as well as generics parameters and json build instances

Language: English | 中文(qq群963752388)

打扰:我想在北京找份flutter开发的工作,请问有没有大佬可以帮忙推荐一下,谢谢了,我的邮箱:157418979@qq.com

Easy Use

image

Known issue

  • If "No classes that inherit JsonConvert were found" is displayed, delete the ". Idea "directory under the project and click" invalidate Caches"in your (Andorid Studio or IDEA) button to restart the IDE

Template ToDo list

  • Support for instantiation through generics
  • Support customized JSON parsing
  • The supported types are: int double String datetime dynamic var, and List of the above types
  • Two (and more)-dimensional array is supported (v4.5.6~)
  • Support custom generated path

Usage

  • 打扰:我想在北京找份flutter开发的工作,请问有没有大佬可以帮忙推荐一下,谢谢了,我的邮箱:157418979@qq.com
  • Settings/Preferences > Plugins > Marketplace > Search for " FlutterJsonBeanFactory" > Install Plugin
  • Restart your Develop tools
  • Modify in the YAML file of the Flutter project

before:

environment:
  sdk: ">=2.12.0 <3.0.0"

after modification:

environment:
  sdk: ">=2.15.0 <3.0.0"
  • Press shortcut key alt + j for mac , right click on package -> New->Dart bean clas file from JSONAnd Then you will know how to use
  • If you change the fields in the class, just press the shortcut alt + j to regenerate the tojson and fromjson methods. The generated method regenerates all helper classes and JsonConvert classes (the same as the shortcut alt + j) each time an entity file is created in the generated/json directory.
  • If you need generic conversions in your network requests, use the JsonConvert.fromJsonAsT method directly.
  • If no helper files are generated, you can delete the .idea directory and restart your idea
  • You can customize the JSON parsing scheme
import 'generated/json/base/json_convert_content.dart';

class MyJsonConvert extends JsonConvert {
  T? asT<T extends Object?>(dynamic value) {
    try {
      String type = T.toString();
      if (type == "DateTime") {
        return DateFormat("dd.MM.yyyy").parse(value) as T;
      } else {
        return super.asT<T>(value);
      }
    } catch (e, stackTrace) {
      print('asT<$T> $e $stackTrace');
      return null;
    }
  }
}

Future<void> main() async {
  jsonConvert = MyJsonConvert();
  runApp(Text("OK"));
}

custom generated path->(pubspec.yaml)

flutter_json:
  generated_path: src/json/**

开源不易,觉得有用的话可以请作者喝杯冰可乐🥤

打赏

赞助列表(非常非常的感谢,仅记录此插件收到的打赏,承诺将收到的所有赞助用于购买可乐和赞助其他开源作者)

名称
金额
时间
QQ:初一
100元 2023年08月15日
Github:cr1992
6.66元 2023年08月4日
QQ:余军
200元 2022年12月

Find me useful ? ❤️

  • Support me by clicking the ⭐ button on the upper right of this page. ✌️
  • Spread to others to let more people have a better develope expierience ❤️

Thanks to JetBrains for allocating free open-source licenses for IDEs such as IntelliJ IDEA.

About

What I do is generate dart beans based on json, as well as generics parameters and json build instances

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%