使用Groovy比较和替换JSON中的字符串

时间:2018-01-05 06:58:24

标签: json string groovy substring string-comparison

我想知道如何将JSON中的字符串替换为另一个JSON。

 def old = '{"name" : "abc", "value": "123", "field" : "xyz"}'
 def neww = '{"name" : "abc", "value": "345" ,"field" : "xyz"}'

 def old_1 = new JsonSlurper().parseText(old)
 def neww_1 = new JsonSlurper().parseText(neww)

 def commons_slurp = old_1.intersect(neww_1)
 def difference_slurp = old_1.plus(neww_1)
 def final_slurp = difference_slurp.minus(commons_slurp)
 def replace_slurp = old.replace(final_slurp)

 print '\n' +  replace_slurp

,最终输出为{"name" : "abc", "345": "123", "field" : "xyz"}

我希望用新值替换旧值。

AND,我需要输出为{"name" : "abc", "value": "345", "field" : "xyz"}

1 个答案:

答案 0 :(得分:1)

这更容易:

println groovy.json.JsonOutput.toJson(old_1+neww_1)