Flutter 功能最全的JsonToDart工具
Windows桌面上功能最全面的Json转换Dart的工具Josn To Dart,使用UWP和WPF开发。
为什么要做这个工具呢?
1.老是被服务端坑,各种数据类型不对
2.参数命名混乱,强迫症根本不能忍
3.官方的不能自定义,然后我之前用的大佬们写的工具debuggerx01大佬,低调大佬,但是有些需求,还是不好老是麻烦大佬,就想着自己写方便一些
工具使用UWP和WPF开发,原因如下:
1.我是一个C#喵,从开始学习java,到入坑微软做Xaml,Sliverlight,WPF,WindowsPhone,UWP 全套灵活运用。在最大的componentone/grapecity控件公司呆过几年,转做Flutter之后继续专注自定义组件 FlutterCandies, 希望能分享更多的Flutter组件,为大家提供方便。 那个。。话题扯远了。。总结一下,我觉得用UWP/WPF一套代码完成这个工具会很方便
2.也不是没有考虑用Dart写,毕竟支持web/windows/mac。但是我这个工具界面上面的布局,需要很多输入框进行自定义修改。Flutter现在的没有提供舒服的双向绑定方式,想一想每一个输入框就要一个control,头有点大。。
下载安装
UWP(Windows10)
WPF(Windows7/Windows8)
使用
格式化
更多设置
数据类型全方位保护
数组全方位保护
遍历数组次数
属性命名
属性排序
添加保护方法
文件头部信息
属性访问器类型
修改json类信息
生成Dart
下载安装
UWP(Windows10)
Windows10 用户
考虑到应用商店经常大姨妈,就没有上传到商店了,大家到下面地址下载安装
1.0
下载好安装包,解压。
第一次安装,需要安装证书,请按照下图,使用PowerShell打开Add-AppDevPackage.ps1,一路接受就安装完毕
后面如果工具有更新,可以下载最新的,然后点击FlutterCandiesJsonToDart_x.0.x.0_x86_x64.appxbundle 安装
WPF(Windows7/Windows8)
Windows7/Windows8 用户
1.0
下载解压,点击setup.exe安装
使用
左边是json的输入框以及最后Dart生成的代码,右边是生成的Json类的结构
格式化
点击格式化按钮,将json转换为右边可视化的json类结构
更多设置
设置会全部自动保存,一次设置终身受益
数据类型全方位保护
大家一定会有被服务端坑的时候吧? 不按规定好了的数据类型传值,导致json整个解析失败。
打开这个开关,就会在获取数据的时候加一层保护,代码如下
dynamic convertValueByType(value, Type type, {String stack: “”}) {
if (value == null) {
debugPrint("$stack : value is null");
if (type == String) {
return “”;
} else if (type == int) {
return 0;
} else if (type == double) {
return 0.0;
} else if (type == bool) {
return false;
}
return null;
}
if (value.runtimeType == type) {
return value;
}
var valueS = value.toString();
debugPrint("$stack : ${value.runtimeType} is not KaTeX parse error: Expected 'EOF', got '}' at position 385: …== "true"; } }̲ 复制代码数组全方位保护 在循…e");
debugPrint("$stack");
}
}
复制代码遍历数组次数
在服务器返回的数据中,有时候数组里面不是每一个Item都带有全部的属性,
如果只检查第一个话,会存在属性丢失的情况
你可以通过多次循环来避免丢失属性
选项有1,20,99
99就代表循环全部进行检查
属性命名
属性命名规范选项:保持原样,驼峰式命名小驼峰,帕斯卡命名大驼峰,匈牙利命名下划线
Dart 命名规范
Dart 官方推荐 驼峰式命名小驼峰
属性排序
对属性进行排序
排序选项: 保持原样,升序排列,降序排序
添加保护方法
是否添加保护方法。数据类型全方位保护/数组全方位保护 这2个开启的时候会生成方法。第一次使用的时候开启就可以了,你可以方法提出去,后面生成Dart就没有必要每个文件里面都要这2个方法了。
文件头部信息
可以在这里添加copyright,improt dart,创建人信息等等,支持[Date yyyy MM-dd]来生成时间,Date后面为日期格式。
比如[Date yyyy MM-dd] 会将你生成Dart代码的时间按照yyyy MM-dd的格式生成对应时间
属性访问器类型
点击格式化之后,右边会显示可视化的json类结构,在右边一列,就是属性访问器类型设置
选项:默认,Final,Get,GetSet
顶部设置修改,下面子项都会修改。你也可以单独对某个属性进行设置。
修改json类信息
点击格式化之后,右边会显示可视化的json类结构。
第一列为在json中对应的key
第二列为属性类型/类的名字。如果是类名,会用黄色背景提示
第三列是属性的名字
输入选项如果为空,会报红提示
生成Dart
做好设置之后,点击生成Dart按钮,左边就会生成你想要的Dart代码,并且提示“Dart生成成功,已复制到剪切板”,可以直接复制到你的Dart文件里面
是不是很方便很人性化,欢迎Start,Fork,666三连。
最后放上 Josn To Dart,如果你有什么不明白或者对这个方案有什么改进的地方,请告诉我,欢迎加入Flutter Candies,一起生产可爱的Flutter 小糖果(QQ群:181398081)
再次邀请,有心为Flutter生态做贡献的小伙伴加入Flutter Candies,一起开心地写bug。
最最后放上Flutter Candies全家桶,真香。
Flutter 功能最全的JsonToDart工具相关推荐
- Flutter 功能最全的JsonToDart工具(桌面Web海陆空支持)
更新已支持Mac 为什么要做这个工具呢? 1.老是被服务端坑,各种数据类型不对 2.参数命名混乱,强迫症根本不能忍 3.官方的不能自定义,然后我之前用的大佬们写的工具debuggerx01大佬,低调大 ...
- 全网功能最全的无水印短视频提取工具
介绍: 视频下载简介:全网功能最全的无水印短视频提取工具,只要输入短视频链接,即可一键下载超多的无水印视频哦,欢迎下载体验! 网盘下载地址: https://zijiewangpan.com/8SJk ...
- 最全 | Redis可视化工具横向评测
1 命令行 不知道大家在日常操作redis时用什么可视化工具呢? 以前总觉得没有什么太好的可视化工具,于是问了一个业内朋友.对方回:你还用可视化工具?直接命令行呀,redis提供了这么多命令,操作起来 ...
- SAP新一代全栈开发工具:SAP Business Application Studio
作为SAP从业者,我们能够清楚地感受到这些年SAP技术进化的趋势. SAP前端开发技术的进化方向,从SAP GUI,到能在浏览器里运行的ABAP Webdynpro / WebClient UI,再到 ...
- 【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。
现在使用OFFICE插件的群体越来越多,在8月份修复过的[OFFICE插件管理工具],尝试将COM加载项的插件管理进行完善. 但仍然有一小部分普通加载项的管理未能加到里面.特别是近期用户反馈到的Eas ...
- wps 插件_【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。
现在使用OFFICE插件的群体越来越多,在8月份修复过的[OFFICE插件管理工具],尝试将COM加载项的插件管理进行完善. 但仍然有一小部分普通加载项的管理未能加到里面.特别是近期用户反馈到的Eas ...
- 3D建模游戏动漫模型制作软件都有哪些?最全解析,工具免费领
这世界上有很多3D软件.我们不可能要花时间学习所有的的程序.如果你非要这么做,我只能表示服了.每个3D软件都有其优缺点.要区分程序之间差异所需的大多数技术知识是初学者无法掌握的.所以我这个入门的小白就 ...
- 值得收藏!史上最全WINDOWS安全工具锦集
"工欲善其事,必先利其器." 近日,深信服安全团队整理了一些常见的PE工具.调试反汇编工具.应急工具.流量分析工具和WebShell查杀工具,希望可以帮助到一些安全行业的初学者. ...
- 一款功能强大的IP查询工具!
开发者(KaiFaX) 面向全栈工程师的开发者专注于前端.Java/Python/Go/PHP的技术社区 来自 | FreeBuf Fav-up Fav-up是一款功能强大的IP查询工具,该工具可以通 ...
最新文章
- 一文全面解析 Postman 工具
- “刷脸”之后 声纹识别有望成为新秀
- mybatis-spring整合jar包功能
- 缓冲区溢出(buffer overflow)机理分析
- 把第三方jar包放入本地仓库
- 第三次学JAVA再学不好就吃翔(part93)--LinkedHashMap
- 操作系统(13)-操作系统中的死锁及其预防、避免、检测与解除
- WebStorm学习笔记001---webstorm-删除项目 两种方法
- 2019招行信用卡中心春招笔试题
- c++ string split_闲话Python之砍瓜切菜split()
- 网络运维工程师面试题分享
- word的多级符号设置
- vivo解析包时出现问题解决
- 由于找不到C:\InetPub\ftproot\Tipray\Ldterm\ghijt32.DLL,无法继续执行代码。重新安装程序可能会解决此问题。
- 校园网认证系统-802.1x协议介绍
- C++编程技巧:内码的转换技术
- Java数据类型关于上标下标输入
- VTK:体绘制裁剪——Clipping技术
- 申请邮箱需要什么,邮箱申请方法开通条件教程分享
- Text-detector 一个用来检测文本内容行数和字数的Mini工具
热门文章
- 2021年危险化学品经营单位主要负责人考试资料及危险化学品经营单位主要负责人考试技巧
- Dockerfile文件解释
- “我在用生命送快递”
- android美拍sd卡,AI美拍,智慧四摄;小i也有大不同
- STM32学习笔记——通用定时器的PWM介绍及配置
- python实现输入一个正整数_Python中实现输入一个整数的案例
- hloj#168“倒牛奶”解题讨论
- 组一套《头号玩家》里的 VR 套装,要多少钱?
- win7 ftp安装搭建,并且上传图片到ftp文件夹下,使用nginx访问下载图片
- 数据中台建设的价值及数据中台架构