Java Spring控制器返回未格式化的json
我已将应用程序配置为返回html、json或xml视图。 html和xml视图很好,但json视图存在问题 返回的json总是以“{}&&”作为前缀 范例Java Spring控制器返回未格式化的json,java,json,model-view-controller,spring-mvc,jackson,Java,Json,Model View Controller,Spring Mvc,Jackson,我已将应用程序配置为返回html、json或xml视图。 html和xml视图很好,但json视图存在问题 返回的json总是以“{}&&”作为前缀 范例 {} && {"asd":{"name":"Practical Spring LDAP","isbn":"978-1475265453","author":"Balaji Varanasi"}} 渲染视图的spring配置是 <bean class="org.springframework.web.servlet.vi
{} && {"asd":{"name":"Practical Spring LDAP","isbn":"978-1475265453","author":"Balaji Varanasi"}}
渲染视图的spring配置是
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="html" value="text/html"/>
<entry key="json" value="application/json"/>
<entry key="xml" value="application/xml"/>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="prefixJson" value="true"/>
</bean>
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<constructor-arg>
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.sam.beans.Book</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
</list>
</property>
</bean>
需要帮助
更新:添加书本的类定义
@XmlRootElement(name="book")
public class Book
{
private String name;
private String isbn;
private String author;
public Book()
{
}
public Book(String name, String isbn, String author)
{
this.name = name;
this.isbn = isbn;
this.author = author;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
固定的
现在我使用ModelAndView,在视图中我给出了MappingJacksonJsonView
ModelAndView modelAndView = new ModelAndView(new MappingJacksonJsonView(),"book", new Book("Practical Spring LDAP", "978-1475265453", "Balaji Varanasi"));
不确定仅使用Model有什么问题。使用带有返回类型的
@ResponseBody
函数来服务请求
@RequestMapping("/getBook")
public @ReponseBody
String showBook(Model model)
{
model.addAttribute("book", new Book("Practical Spring LDAP", "978-1475265453", "Balaji Varanasi"));
return "book";
}
我们可以看看书的类定义吗?
@RequestMapping("/getBook")
public @ReponseBody
String showBook(Model model)
{
model.addAttribute("book", new Book("Practical Spring LDAP", "978-1475265453", "Balaji Varanasi"));
return "book";
}