我有我的spring项目的xml和json输出视图。我正在使用spring 4版本,这是我的ViewResolver xml文件。
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
<property name="defaultViews">
<list>
<!-- JSON View -->
<bean
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
</bean>
<!-- JAXB XML View -->
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.rest.dto.SportInfoDtoList</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
</list>
</property>
<property name="ignoreAcceptHeader" value="true" />
</bean>
我想使用ModelAndView通过我的控制器传递Jackson JSONObject。
@RequestMapping(value="stat", method=RequestMethod.POST)
public ModelAndView getSeasonteamStat(@ModelAttribute(value="statDto") StatDto statDto){
ModelAndView model = new ModelAndView();
try{
String seasonteamstatStr = GuideStatClient.getSeasonTeamStats();
JSONObject seasonteamstat = new JSONObject(seasonteamstatStr);
model.addObject("seasonteamstat", seasonteamstat);
return model;
} catch (Exception e){
return model;
}
}
如果我返回seasonteamstatStr
,它将成功返回。但我需要将此字符串作为json对象传递。 This is a huge object so I dont want to map it into java objects using JAXB.
所以有没有办法将此字符串作为json传递。我试过jackson和gson JSONObject。提前致谢
答案 0 :(得分:0)
使用@ResponseBody
注释您的方法,指示方法返回值应绑定到Web响应正文并将返回类型更改为String