1

一般的な方法でリクエストを解析したり、送信されるすべての応答でJSON応答にフィールドを追加したりできる一般的なアプローチがあるかどうかを自問しました。

次のようなものを受け取って解析したいと思います。

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

}

「content」のコンテンツは、たとえば指定されたクラスのインスタンスに変換する必要があります。

応答は、そのような一般的な方法でも機能する必要があります(コンテンツの変更、一部のフィールドは常に)。

JSONマーシャラー、フィルター、または別のものをお勧めしますか?

ありがとうございました

4

1 に答える 1

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から

于 2012-07-17T16:09:47.620 に答える