从MappingJacksonJsonView
javadoc:
public void setPrefixJson(boolean prefixJson)
指示此视图的JSON输出是否应该以“ {} &&”为前缀。默认为false。以这种方式给JSON字符串加上前缀有助于防止JSON劫持。前缀使该字符串在语法上无效,因为它是脚本,因此不能被劫持。该前缀不会影响JSON的评估,但是如果对字符串执行JSON验证,则需要忽略该前缀。
那么,您是否尝试将prefixJson设置为false?
<beans:bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<beans:property name="mediaTypes">
<beans:map>
<beans:entry key="html" value="text/html" />
<beans:entry key="json" value="application/json" />
</beans:map>
</beans:property>
<beans:property name="defaultViews">
<beans:list>
<beans:bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<beans:property name="prefixJson" value="false" />
</beans:bean>
</beans:list>
</beans:property>
<beans:property name="viewResolvers">
<beans:list>
<beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<beans:property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
</beans:list>
</beans:property>