Grails通用JSON处理请求和响应

时间:2012-06-26 08:56:03

标签: json grails

我问自己是否存在一种通用的方法,我可以用通用的方式解析请求,或者在发送每个响应时将字段添加到JSON响应中。

我想收到并解析类似的内容:

{
    transactionId:456, // every response contains this
    statuscode:1,
    content:{ // only content is changing
          {
              class:"org.something.test",
              id:123,
              name:"test",
              referenceIdToOtherClass:345
          }
    }

}

“内容”的内容应该转换成例如到给定类的实例。

响应也应该以这种通用方式工作(改变内容,总是改变一些字段)。

你会推荐JSON marshaller,Filter还是其他不同的东西?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用JSON.parse

将json转换为地图
import grails.converters.*
import org.codehaus.groovy.grails.web.json.*; // package containing JSONObject, JSONArray,...

def o = JSON.parse("{ foo: 'bar' }"); // Parse a JSON String
assert o instanceof JSONObject // In this case, JSON.parse returns a JSONObject instance
assert o instanceof Map // which implements the Map interface
assert o.foo == 'bar' // access a property

然后您可以将地图传递给构造函数以创建新实例

来自http://grails.org/Converters+Reference