如何从域对象创建JSON视图?

如何从域对象创建JSON视图?

问题描述:

我正在创建基于AJAX的Web应用程序的服务器端实现,其中客户端端接收域对象序列化为JSON的响应。为了提供一个共同的外观和感觉,我想为不同类型的域对象创建模板,并将它们重新用作多个控制器的Spring视图。如何从域对象创建JSON视图?

例如,假设我有以下对象图:

A - B - C^

其中A和C具有一个多到多的关系。当我返回一个AJ类型的对象作为AJAX请求的结果时,我想返回它在B和C表中的相关数据。但是,当我返回C类型的对象时,我想返回表C中的数据。

到目前为止,我发现的唯一解决方案是在控制器中创建自定义数据联编程序;但是我相信这个用例更适合作为可以在许多控制器之间共享的视图。对此存在解决方案吗?

是的,您可以将视图视为JSON格式的模型版本。

看看Spring-Json vieworg.springframework.web.servlet.view.json.JsonView类。

+0

非常酷,我实际上在想今天早些时候。 – 2009-06-01 23:46:00

XStream对任意Java对象有JSON serializer and deserializer