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)
Easy Use
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
- Two (and more)-dimensional array is not supported
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 not supported
Usage
- 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"));
}
❤️
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.