我即将编写一个应用程序,我必须使用JSON
发送jQuery
数据,并在服务器端的spring控制器中对其进行解释。即使在如此多的路径和错误之后,我在服务器端解释数据时面临很多问题。我在stackoverflow
也经历了很多帖子,但却找不到合适的答案。
是否首选将JSON
格式的数据发布到spring?请告诉我。
即使您发布了解释如何在服务器端处理数据的链接,也会有所帮助。
答案 0 :(得分:1)
JSON是一种在客户端和服务器之间来回传递数据的良好格式。查看反序列化以将格式良好的 JSON放入服务器上的对象中。
答案 1 :(得分:0)
这实际上取决于您将从客户端传递到服务器的数据。但是,是的,JSON对于一般数据而言是足够好的格式,我更喜欢它。
答案 2 :(得分:0)
从您的回答中不确定您面临的问题类型。假设您的主要问题是从jquery /任何其他来源发布json数据并解释它,解决方案如下:
创建一个实现Serializable接口的模型对象。 e.g。
公共类帐户实现Serializable {
private static final long serialVersionUID = 1913207428686438208L;
String bankAccountNo ;
String userName ;
public String getBankAccountNo() {
return bankAccountNo;
}
public void setBankAccountNo(String bankAccountNo) {
this.bankAccountNo = bankAccountNo;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void Account(){
}
}
2.使用请求映射路径注释您的控制器,例如
@Controller("jsonController")
@RequestMapping("test/")
public class JSONController {
@RequestMapping(method = RequestMethod.GET, value = "get/account/{name}", headers = "Accept=application/json")
public
@ResponseBody
Account getAccount(@PathVariable String name) {
// let's suppose findAccount() finds the account
Account account = findAccount(name);
return account;
}
@RequestMapping(method = RequestMethod.POST, value = "post/account", headers = "Content-type=application/json")
public
@ResponseBody
String getAccount(@PathVariable String name) {
// let's suppose saveAccount() persists the account
saveAccount(account);
return "success";
}
}
<context:annotation-config/>
添加到您的applicationContext.xml文件中。答案 3 :(得分:0)
这里我从我的最后添加了缺少的组件....如果下面的代码有任何问题,请更正它: 上下文xml文件:
<mvc:resources location="/custom1/" mapping="/js/**" />
<mvc:annotation-driven />
<context:component-scan base-package="com.vk" />
<context:annotation-config />
<bean id="JspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
和以下javascript代码:
$.ajax({url: "/JSONExample/post/account",
type: "POST",
data: {userName: "Sam" },
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(result) {
alert(result);
}
});