使用Groovy使用JSON服务返回List <object> </object>

时间:2010-11-04 19:46:49

标签: java groovy blazeds

原谅什么是完全没有问题 - 我今天正在评估一个问题,并且认为,“这可能是Groovy真正擅长的事情”。

我正在尝试构建一个快速POC,它演示了通过AMF序列化对象而不是JSON的好处。 (我知道可用的基准研究,但我的客户想要更多证据)。

有一个现有的JSON服务,理想情况下,我想从Java服务层内调用,使用JSON对象,并使用BlazeDS将它们作为List<Object>返回给Flex客户端。 / p>

我不确定BlazeDS在将一个groovy对象暴露为消息传递端点时会有多好,所以我想我可能需要将我的服务包装在Java包装器中,以保持简单。

是的,我认为它会看起来像......

public class JSONService {
    // Probably something Groovy 
    IJSONDelegate jsonDelegate;

    public JSONService(IJSONDelegate jsonDelegate)
    {
         this.jsonDelegate = jsonDelegate
    }

    public Object loadJSON(String url)
    {
        return jsonDelegate.loadJSON(url);
    }
}

鉴于Groovy是一种动态语言,这是一种合适的方法吗?

即,Groovy可以将一些JSON文本反序列化为Groovy对象,然后可以通过Java类传递它吗?

此课程的序列化是否可能存在任何问题?

2 个答案:

答案 0 :(得分:0)

你需要一个名为json-lib的库,它是一个GroovyJsonBuilder并将JSON解析为POJO。 对于动态groovy对象,您需要使用Expando类。

http://json-lib.sourceforge.net/

答案 1 :(得分:0)

我不确定如何使用Groovy执行此操作,但您可以重用我的CensusServiceServlet。它只是通过各种序列化选项(XML,JSON和AMF3)公开数据集。