use*_*415 2 groovy json 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}]}'
Run Code Online (Sandbox Code Playgroud)
但是,由于content没有从Object显式导出,我称之为副作用,并且不会依赖它在未来版本的Groovy中工作.
最好在将映射传递给映射之前使映射正确JsonBuilder,或者如果不可能,我猜你需要解析Json字符串,JsonSlurper修改生成的Map,然后JsonBuilder再次重建Json .
| 归档时间: |
|
| 查看次数: |
7169 次 |
| 最近记录: |