加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Groovy中使用jsonbuilder修改json

发布时间:2020-12-14 16:33:25 所属栏目:大数据 来源:网络整理
导读:我试图修改json的内容,然后打印它以查看它是否已更改此代码但收到错误 def builder = new JsonBuilder(request) log.info(builder.content) builder.content.device.dpidsha1= 'abcd' log.info(builder.toPrettyString()) 错误: no such property: device j
我试图修改json的内容,然后打印它以查看它是否已更改此代码但收到错误

def builder = new JsonBuilder(request)
 log.info(builder.content)
 builder.content.device.dpidsha1= 'abcd'  
 log.info(builder.toPrettyString())

错误:

no such property: device

json看起来像这样:

{
   "app":{ },"at":2,"badv":[ ],"bcat":[ ],"device":{
      "carrier":"310-410","connectiontype":3,"devicetype":1,"dnt":0,"dpidmd5":"268d403db34e32c45869bb1401247af9","dpidsha1":"1234",.
.
}

有人可以帮助理解我做错了什么,我怎么能纠正它.

解决方法

您需要解析传入的内容,并使用JsonBuilder进行修改

import groovy.json.JsonBuilder
import groovy.json.JsonSlurper

def content = """
{
   "app":{ },"dpidsha1":"1234" 
   }
}"""

def slurped = new JsonSlurper().parseText(content)
def builder = new JsonBuilder(slurped)
builder.content.device.dpidsha1 = 'abcd'  
println(builder.toPrettyString())

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读