10.1 Converting json to data classes

10.1 Converting json to data classes

处理json数据,是常见的工作,解析和处理json技术含量低,考验的是细心和耐心,原始的办法的就是对着json字符串一个一个的解析,一般做法是用gsonjackson 等转换工具,辅助json的解析。 这里介绍一个直接把json串转成java 代码的工具和使用方法,可以提高生产效率,减少人工手误出错。

10.1.1 Java

GsonFormatter 是一个在Android Studio 中的插件,可以非常快速地把json串转换成java 类和内部类。

安装步骤

Android Studio –> Preference –> Plugins –> Browse repositories–> 输入 GsonFormat –> 选择并安装
首次安装后,需要重启Android Studio 才能启用该插件

这里写图片描述
这里写图片描述

使用过程

以如下Json 为例:

{
    "name": "BeJson",
    "url": "http://www.bejson.com",
    "page": 88,
    "isNonProfit": true,
    "address": {
        "street": "科技园路.",
        "city": "江苏苏州",
        "country": "中国"
    },
    "links": [
        {
            "name": "Google",
            "url": "http://www.google.com"
        },
        {
            "name": "Baidu",
            "url": "http://www.baidu.com"
        },
        {
            "name": "SoSo",
            "url": "http://www.SoSo.com"
        }
    ]
}

在Android Studio中新建一个类DataBeanFromJson

这里写图片描述

选择菜单Code –> Generate 会弹出下图的菜单,
这里写图片描述
安装完GsonFormat插件后,这里比以前多了一个GsonFormat的菜单,点击后,出现输入Json的界面。 界面左下角有Settings 设置,可以设置转换时的一些细节,例如变量是Private 还是public 的,转换使用的库等等。
这里写图片描述
我这里使用的 public 的成员变量,这样就没有多余的getter 和setter 方法。 解析库使用的是Gson。这样生成的代码就是符合Gson 样式的代码。
这里写图片描述

设置选好后,点击ok, 再点击ok。弹出确认窗口。
这里写图片描述

在这可以选择具体使用哪些key并写入代码中。再次ok后, 代码就生成好了。
这里写图片描述
如图所示,int, boolean, String, 对象类型, 列表类型 都可以顺利转换。
另外,不一定非得新建一个类, 在任何一个类中按上述操作都可以当前类中添加代码。

10.1.2 Kotlin

可以使用RoboPOJOGenerator 插件来生成Kotlin代码。RoboPOJOGenerator 是一个开源项目

安装

在Android Studio 的插件中查找RoboPojoGenerator
“Preferences” -> “Plugins” -> “Browse Repositories” -> “RoboPOJOGenerator”

这里写图片描述

使用

选中目标文件夹, 在菜单中选择File–>new –>Generate POJO from JSON
这里写图片描述
这个插件可以生成java代码,也可以生成kotlin代码。 勾选kotlin后,生成kotlin代码
这里写图片描述

生成代码如下,多个类是在不同的文件下。
这里写图片描述

注意在build.gradle 中配置

    compile 'com.google.code.gson:gson:2.8.0'
    compile 'org.glassfish:javax.annotation:10.0-b28'

结语

如上,介绍了java 和kotlin 语言下如何快速生成json 文件对应的代码,希望能够提高工作效率,祝大家编程愉快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值