groovy 把json串转化成对象

groovy 把json串转化成对象,第1张

概述今天有个任务,要把redis中缓存的json串读取出来并放到对象中,便于后续使用对象。相关代码如下: json串 { "GDS_ID":"123", "GDS_NAME":"手机" } 对象定义 class TGdsInfo { def gdsId def gdsName} 完整代码 import groovy.json.JsonSlurper

今天有个任务,要把redis中缓存的Json串读取出来并放到对象中,便于后续使用对象。相关代码如下:

Json串
{     "GDS_ID":"123","GDS_name":"手机" }
对象定义
class TGdsInfo {        def gdsID        def gdsname}
完整代码
import groovy.Json.JsonSlurper/** * Created by fangyunfeng on 2015/9/12. */def gdsInfo = ''' { "GDS_ID":"123","GDS_name":"手机" } '''class TGdsInfo {        def gdsID        def gdsname}/** * Json串字段名到对象属性名映射函数 * @param s * @return */def camle(String s){        return s.tolowerCase()                .replaceAll("_[A-Za-z]"){String it->it.toupperCase()}                .replace('_','')}def gdsJson = new JsonSlurper().parseText(gdsInfo)def gdsObj = new TGdsInfo()gdsJson.each {Map.Entry entry -> String propname = camle(entry.key)        if(gdsObj.MetaClass.hasProperty(gdsObj,propname)){                gdsObj[propname] = entry.value } } println("gdsID:"+gdsObj.gdsID) println("gdsname:"+gdsObj.gdsname)
输出结果
gdsID:123gdsname:手机Process finished with exit code 0

注意,这里Json串中的字段名跟对象中的属性名并不一致,所以需要通过camel函数做一下映射。

总结

以上是内存溢出为你收集整理的groovy 把json串转化成对象全部内容,希望文章能够帮你解决groovy 把json串转化成对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1259408.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存