好的,我有一个基于Spring MVC的json网络服务。这是一个测试应用程序,在构建基于Spring MVC的Restful
JSON服务时,我从未见过这样的问题。我的测试服务的输出始终返回,并且json对象为空,后跟&&和我想返回的数据。所以结果看起来像这样:
{} && {“状态”:200,“ serverTime”:“ 2013年1月6日,美国东部标准时间”}
我的控制器方法处理此非常简单的GET请求的代码是:
@RequestMapping(value = "/test.json", method = RequestMethod.GET)
public ModelMap test(ModelMap m, HttpServletRequest request,
Locale locale) {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
m.addAttribute("serverTime", formattedDate);
m.addAttribute("status", 200);
return m;
}
我一辈子都无法找出额外的空{} json对象来自何处。我的春季配置看起来像这样:
<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="true" />
</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>
任何帮助将不胜感激。我在周日忙了6个小时,试图弄清为什么会这样。
从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>
问题是 有一个输入字符串集合和一个查询字符串集合。对于每个查询字符串,确定它在输入字符串列表中出现的次数。 字符串=[ab,ab,abc]查询=[ab,abc,bc]有ab的实例2,'abc'的实例1和'bc'的实例0。对于每个查询,添加一个元素。 现在我尝试使用链表实现它,但不是以2,1,0的形式获得输出。我得到的输出是2,1,0,2,2,1,0,2。我不知道是如何为超过3个链接创建LL的。请帮
我尝试使用json对象更新sharePreference值。首先创建带有name的json对象,然后在SharedPreference中更新该对象。但是,我无法获得json对象名。请帮帮我. 我想像这个,。
例如,当我为num1输入2,为num2输入3时,我希望在输入第二个数字后立即获得8的输出。但是,程序希望我再输入一个整数,而我只输入一个随机数,如242,它仍然输出8,这意味着它不会影响结果。所以我的问题是为什么有第三个输入?感谢您的帮助!
我正在尝试使用。这是我用于执行ajax调用的代码: 所以我在响应中得到了一个有效的json对象,但是不知何故浏览器抛出了一个。实际错误是: 未捕获的语法错误:意外标记: 选择缩进=打开 棘手的是,当我在浏览器中检查时,响应标题是。我怎样才能解决这个问题?请帮帮我。。。
问题内容: 我有一些javascript代码,可处理使用框架2.0构建的asp.net Web服务的json输出。现在,我需要支持从框架3.5 Web服务返回的数据。 我的JavaScript代码假定对象列表为返回值,在2.0中可以正常工作。但是,在框架3.5中,该列表包装在“ d”对象中。有什么办法可以删除“ d”包装并仅返回列表? 我宁愿在服务器端修复此问题 问题答案: 您不能将3.5+服务配
我有一个平面JS对象: 我想克隆除一个元素以外的对象: 最简单的方法是什么(如果可能的话更倾向于使用ES6/7)?