flutter开发之解析实体类工具
后台返回的数据结构,一般都是json格式,想必大家不会陌生,JSON(全称JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式,JSON因为具有易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率等特性,通常被用在客户端与服务端的数据交互中。
在android开发中最多用的就是gson 以及fajson来解析json,而在flutter中手动解析json 是使用dart:convert中内置的JSON解码器。它能够将原始JSON字符串传递给json.decode() 方法,然后在返回的Map<String, dynamic>中查找所需的值。 它不需要依赖任何第三方库,对于小项目来说很方便。
对于数据结构不是很复杂的时候,使用fromJson来解析字段还好,但是如果数据结构比较复杂的话,手写fromJson、toJson就不太友好,并且容易出错。
所以在学习flutter的时候,我常借助于在线生成工具来完成解析,在线生成工具的网址是:https://javiercbk.github.io/json_to_dart/
但目前在线生成工具还有未完善的地方,如果解析过于复杂的json格式,将会出现错误 Cannot generate dart code. Please check the project caveats.
既然解析不出来,不得不找新的解析方式,可以通过FlutterJsonBeanFactory 插件来生成实体类,以android Studio为例子 依次选择【Android Studio】->【Preferences…】->【Plugins】,然后搜索FlutterJsonBeanFactory插件安装即可,安装完成后重启,选择new ->dart bean class File from JSON
然后将json粘贴在JSON Text内,设置Class Name,点击make即可生成bean文件