【问题标题】:Render map as json in Grails在 Grails 中将地图渲染为 json
【发布时间】:2013-01-22 11:16:57
【问题描述】:

我在我的应用程序中使用 Grails,但我在使用 JSON 转换器时遇到了问题。

在我的控制器中,我有:

def myObject = [:]
myObject.key = 'value'
render ???

从控制器将myObject 呈现为 JSON 的最佳方式是什么?

【问题讨论】:

  • 我假设myObject 是一张地图?否则,您发布的代码毫无意义。如果是这种情况,您可以这样做:myObject[ 'key' ] = 'value' 而不是 myObject.put("key", "value")
  • 补充提姆的观点。你甚至可以做 myObject.key = 'value'
  • @Valeri 也许重要信息应该在问题中?
  • 更新了问题,使其更易于理解,并包含@uchamp 的建议

标签: grails


【解决方案1】:

很简单:

render (myObject as JSON)

render ([key: "value"] as JSON)

【讨论】:

  • render myObject as JSON 可以,不需要括号
  • 省略括号对于简单的情况来说很好,但如果你尝试做render (something) as JSON(它被解析为(render something) as JSON而不是render (something as JSON)),它会让你绊倒。在经常被这个咬伤之后,我现在每次都使用显式括号......
【解决方案2】:

其他方法是:

        render (contentType: 'text/json'){
        array {
            for(f in Person.list()){
                person id: f.id, name: f.name
            }
        }
    }

此示例呈现人员列表

【讨论】:

    猜你喜欢
    • 2015-11-09
    • 2012-03-27
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    相关资源
    最近更新 更多