2016-07-20 40 views
3

我有一些数据在Groovy的对象,我需要转换为JSON字符串数组。最终的结果应该是..如何创建一个JSON数组作为字符串从常规对象?

[ 
     { 
     "keys":{ 
       "passcode": "12345" 
       }, 
     "values":{ 
        "EmailAddress": "[email protected]", 
        "message": "Hello, is it me you are looking for?" 
       } 
     } 
] 

我发现这个post但使用JSON生成器没有任何意义,并使用JSON转换器不工作的第二个答案公认的答案...

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

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

任何人都可以建议如何使用JSON生成器或JSON转换器来创建一个数组字符串像我上面?

回答

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() 
相关问题