IT序号网

json之Grails JSON转换器

grandyang 2025年12月25日 编程语言 19 0

我的主 Controller 中有一个方法,该方法返回要渲染为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吗?

请您参考如下方法:

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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!