【问题标题】:Grails JSON ConverterGrails JSON 转换器
【发布时间】:2014-02-13 15:38:12
【问题描述】:

我的主控制器中有一个方法,它返回一个我想呈现为 JSON 的字符串。 所以我正在导入“import grails.converters.JSON”并调用

myMethod() as JSON

,它工作正常。但是当我需要在集成测试中获取 json 响应的一些详细信息时。

所以在我的集成测试中我有:

void testfoo() {
    def bar = controller.myMethod();
    def bar.name; //fails
    JSON.parse(bar.toString()).name; // doesn't fail
    ....
    ..
}

知道为什么我需要将其转换为字符串然后再转换为 JSON,因为它已经是 JSON 了吗?

【问题讨论】:

    标签: json grails groovy


    【解决方案1】:

    您从方法中返回的值是grails.converters.JSON,它本身不是可直接访问的 JSON 树,而只是一个知道如何在需要时将自身序列化为 JSON 的对象。如果您想直接访问 JSON 树结构,那么您需要告诉 grails.converters.JSON 对象对其自身进行序列化,然后将该 JSON 传递给 JSON.parse 以将其转换为 JSONElement(或其子类之一,在这种情况下)大概是JSONObject)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      相关资源
      最近更新 更多