如何使用JsonBuilder在Groovy中创建一个简单的JSON?

时间:2018-05-09 20:48:19

标签: json groovy

tool_name = 'test
product_name = 'test'
platform_name = 'test'

def my_json = new JsonBuilder()
def root = my_json name: tool_name, product: product_name, platform: platform_name
print my_json

我做错了什么?我正在尝试创建一个非常基本的(平面)json对象,以便稍后发送POST请求。

类似的东西:

{'name': 'test', 'product': 'test', 'platform': 'test'}

最简单的方法是什么?我可以使用JsonBuilder或Slurper吗?我对groovy完全不熟悉。

1 个答案:

答案 0 :(得分:2)

您只需使用Map并使用groovy.json.JsonOutput.toJson()辅助方法将其渲染为JSON,例如

def tool_name = 'test'
def product_name = 'test'
def platform_name = 'test'

def map = [name: tool_name , product: product_name , platform: platform_name]

def json = groovy.json.JsonOutput.toJson(map)

println​ json​

此示例生成以下输出:

{'name': 'test', 'product': 'test', 'platform': 'test'}

如果您想使用groovy.json.JsonBuilder,则下面的示例会产生您的预期输出:

def tool_name = 'test' 
def product_name = 'test' 
def platform_name = 'test'

def builder = new groovy.json.JsonBuilder()        
builder {
    name tool_name
    product product_name
    platform platform_name
}
println builder.toString()​

groovy.json.JsonSlurper类专门用于读取JSON文档并在需要时对其进行操作。