Что я сделал, так это:
Я просто добавил зависимость Джексона в свой файл pom, а затем добавил @ResponseBody:
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public Map<String, String> getTestValue() {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "dfd");
map.put("2", "dfd");
map.put("3", "dfd");
map.put("4", "dfd");
return map;
}
И тогда я получил ожидаемый результат:
{
"1": "dfd",
"2": "dfd",
«3»: «dfd»,
"4": "dfd"
}
Кстати, я использую пружинный MVC 3.1.
Прежде чем использовать Spring mvc 3.1, я использовал 3.0, и когда я делал выше, мне также пришлось добавить следующее .xml файл:
<beans:bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter" />
<beans:bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
<beans:bean id="methodHandlerExceptionResolver"
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">
<beans:property name="messageConverters">
<beans:list>
<beans:ref bean="stringHttpMessageConverter" />
<beans:ref bean="jsonHttpMessageConverter" />
</beans:list>
</beans:property>
</beans:bean>
Надеюсь, это поможет вам.