web-dev-qa-db-ja.com

Grailsを使用してサーバー側でJSONデータを取得する

JSONデータをGrailsのURLに投稿したら、コントローラー内でそのデータにアクセスするにはどうすればよいですか?

29
maximus

GrailsはJSONを自動的に解析/アンマーシャリングし、コントローラーのrequest.JSONからアクセスできます。返されるオブジェクトのタイプは JSONObject であるため、マップスタイルでプロパティにアクセスできます。このJSONObjectをデータバインディングに直接使用することもできます。

def jsonObject = request.JSON
def instance = new YourDomainClass(jsonObject)
51
Daniel Rinser

GrailsのJSONクラスを確認してください。

http://grails.org/doc/latest/api/org/codehaus/groovy/grails/web/json/package-frame.html

たとえば、「update」というパラメータでJSONレコードのリストを反復処理する方法は次のとおりです。

    def updates = new org.codehaus.groovy.grails.web.json.JSONArray(params.updates)
    for (item in updates) {
                    def p = new Product()
        p.quantity = item.quantity
        p.amount = item.amount
        p = salesService.saveProductSales(p)

    }
6
Mike Sickler