使用 Groovy 使用 JSON 服务返回 List
请原谅这个完全菜鸟问题 - 我今天正在评估一个问题,然后想,“这可能是 Groovy 真正擅长的事情”。
我正在尝试构建一个快速 POC,以演示通过 AMF 序列化对象而不是 JSON 的好处。 (我知道可用的基准研究,但我的客户想要更多证据)。
有一个现有的 JSON 服务,理想情况下我想从 Java 服务层中调用它,使用 JSON 对象,并将它们作为 List
我不确定 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 类传递该对象?
此类的序列化可能存在任何问题吗?
Forgive what is a totally noob question - I was evaluating a problem today, and thought, "this is probably the kind of thing that Groovy is really really good at".
I am trying to build a quick POC that demonstrates the benefits of serializing an object over AMF as opposed to JSON. (I'm aware of the benchmark studies that are available, but my client wants more proof).
There is an existing JSON service, which ideally I'd like to call from within a Java service layer, consume the JSON objects, and return them as a List<Object>
back to a flex client, using BlazeDS.
I'm not sure how well BlazeDS would play with exposing a groovy object as a messaging endpoint, so I figure I might need to wrap my service in a Java wrapper, to keep things simple.
Ie., I'm thinking it would look something along the lines of...
public class JSONService {
// Probably something Groovy
IJSONDelegate jsonDelegate;
public JSONService(IJSONDelegate jsonDelegate)
{
this.jsonDelegate = jsonDelegate
}
public Object loadJSON(String url)
{
return jsonDelegate.loadJSON(url);
}
}
Given that Groovy is a dynamic language, is this a suitable approach?
Ie., can Groovy deserialize some JSON text into a Groovy Object, which can then be passed around through Java classes?
Are there likely to be any issues in serialization of this class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要一个名为 json-lib 的库,其中有一个 GroovyJsonBuilder 并将 JSON 解析为 POJO。
对于动态 groovy 对象,您需要使用 Expando 类。
http://json-lib.sourceforge.net/
You would need a library called json-lib, theres a GroovyJsonBuilder and parses JSON to a POJO.
For the dynamic groovy objects you would need to use the Expando class.
http://json-lib.sourceforge.net/
我不知道如何使用 Groovy 执行此操作,但您可以重复使用我的 CensusServiceServlet。它只是通过各种序列化选项(XML、JSON 和 AMF3)公开数据集。
I'm not sure how to do this with Groovy, but you could just reuse my CensusServiceServlet. It simply exposes a dataset through various serialization options (XML, JSON, and AMF3).