如何从groovy对象创建一个JSON数组作为字符串?

时间:2016-07-20 20:53:26

标签: arrays json groovy

我在Groovy的对象中有一些数据需要转换为JSON字符串数组。最终的结果应该是..

 [
      {
        "keys":{
                 "passcode": "12345"
               },
        "values":{
                  "EmailAddress": "john@doe.com",
                  "message": "Hello, is it me you are looking for?"
                 }
      }
 ]

我发现这个post但是使用JSON Builder的接受的答案没有意义,使用JSON转换器的第二个答案没有用......

def deJson = [
            keys: [
                    passcode: secretCode
            ],
            values: [
                    EmailAddress:emailData.to[0],
                    message: content.message
            ]
    ] as grails.converters.JSON

当我需要一个数组时,这会创建一个JSON对象。

有人可以建议我如何使用JSON Builder或JSON转换器创建一个像上面一样的数组字符串吗?

1 个答案:

答案 0 :(得分:3)

JSON特定于Grails(如前一篇文章的答案中的一条评论中所述)。你应该在帖子中跟踪问题本身,它有答案。

使用groovy.json.JsonBuilder,序列化的预期方式是:

def jsonObj = [
    keys: [
        passcode: secretCode
    ],
    values: [
        EmailAddress:emailData.to[0],
        message: content.message
    ]
]

// In order to get a json array, use a list containing the object
new JsonBuilder([jsonObj]).toPrettyString()