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
- 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
- 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
- 打扰:我想在北京找份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 JSON
And 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月 |
- 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.