今天有个任务,要把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:123
gdsName:手机
Process finished with exit code 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。