我使用 JsonBuilder 来构建 JSONObject/String。
但是,如何更新/更改此 JSONObject/String 中一个字段的值?
我没有看到使用 JsonBuilder 执行此操作的可能性。那我用什么节目?
我使用 JsonBuilder 来构建 JSONObject/String。
但是,如何更新/更改此 JSONObject/String 中一个字段的值?
我没有看到使用 JsonBuilder 执行此操作的可能性。那我用什么节目?
如果您必须更改已经放入 JsonBuilder 的内容,那么您可以这样做:
import groovy.json.*
def map = [ users:[ [ name:'tim', posts:43 ], [ name:'alice', posts:72 ] ] ]
JsonBuilder builder = new JsonBuilder( map )
builder.content.users[ 0 ].name = 'dave'
assert builder.toString() == '{"users":[{"name":"dave","posts":43},{"name":"alice","posts":72}]}'
但由于content
没有从 Object 显式导出,我将其称为副作用,并且不会依赖它在 Groovy 的未来版本中工作。
最好在将地图传递给 之前正确获取地图JsonBuilder
,或者如果这不可能,我猜你需要解析 Json 字符串并JsonSlurper
修改生成的地图,然后JsonBuilder
再次重建 Json。