【发布时间】:2013-10-03 13:49:37
【问题描述】:
从 PHP 应用程序调用 grails 控制器,它以 JSON 格式发送数据。
当我打印参数时
println params
打印出来的
[{"courseCategory":null,"courseId":null,"show":null,
"rows":6,"trainers":null,"courses":null,"cities":null,
"fromDate":null,"toDate":null,"pageType":"HOME","deal":null}:,
action:getTrainingsAsJson,
controller:publicTraining]
当我这样做时
println params.rows
println params.pageType
打印null
我试过了
def jsonObject = request.JSON // prints [:]
我也试过JsonSlurper
def slurper = new JsonSlurper()
def result = slurper.parseText(params)
报错
No signature of method: groovy.json.JsonSlurper.parseText() is applicable for argument types: (org.codehaus.groovy.grails.web.servlet.mvc.GrailsParameterMap)
如何将其转换为检索参数值?
或者有什么方法可以将其转换为地图,以便我可以轻松访问参数?
【问题讨论】:
-
println params.dump()看到了什么? -
上面的 println 语句显示无效的 JSON,你确定这是你得到的吗?
-
@dbrin 这有点晚了,但为了后代:它实际上显示了 Grails 用请求参数构建的
params映射。因为 monda 的 JSON 不是作为参数发送的,所以 Grails 没有分配给 JSON 的名称,而是将其作为映射条目的键。