
今天有个任务,要把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串转化成对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)