使用 Grails 在服务器端获取 JSON 数据
Posted
技术标签:
【中文标题】使用 Grails 在服务器端获取 JSON 数据【英文标题】:Getting JSON data on server side with Grails 【发布时间】:2011-03-02 11:33:02 【问题描述】:一旦我将 JSON 数据发布到 Grails 中的 url,我如何才能在控制器内部访问该数据?
【问题讨论】:
【参考方案1】:Grails 自动解析/解组 JSON,您可以通过控制器中的 request.JSON
访问它。返回的对象是JSONObject
类型,因此允许以地图样式访问属性。也可以直接使用这个 JSONObject 进行数据绑定:
def jsonObject = request.JSON
def instance = new YourDomainClass(jsonObject)
【讨论】:
你能解释一下我用同样的方法缺少什么吗 (***.com/questions/15067379/…) 如果你没有域类(即json只有它的输入数据),有没有办法解析jsonObject?显然可以执行 def x = jsonOblect.xxx,但是如何遍历 json 内部的集合?【参考方案2】:查看 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)
【讨论】:
谢谢迈克!除了参数之外,还有其他获取发布数据的变量/方法吗?这才是真正让我最痛苦的原因。 你知道吗,我发现我没有发布 json,这就是它从未出现在 params 中的原因。因此,您的解决方案效果很好。再次感谢!以上是关于使用 Grails 在服务器端获取 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS:无法在一次 POST 调用中发送 JSON 数据和 PDF 文件