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

时间:2009-05-18 16:35:41

标签: java json spring spring-mvc

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

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

A - B - C

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

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

2 个答案:

答案 0 :(得分:2)

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

查看Spring-Json vieworg.springframework.web.servlet.view.json.JsonView课程。

答案 1 :(得分:1)

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