Java RESTWeb应用程序:XML/JSON的作用是什么?
我目前正在学习Java RESTWeb应用程序:XML/JSON的作用是什么?,java,json,xml,rest,service,Java,Json,Xml,Rest,Service,我目前正在学习REST应用程序,尤其是JavaREST的实现 我不确定JSON或XML在REST中扮演什么角色 一个示例显示我当前的理解: 用户单击前端上的按钮 用户被重新定向到URL,例如/User/{userid} 服务类中的Java方法调用repository(例如Crud repository)类来检索数据 存储库从数据库中提取数据(例如,关于特定用户的数据) 数据传回服务类,然后显示在用户界面上 JSON或XML在这个过程中适用于哪里 它是将数据从服务返回到前端的格式。它是将数据从服务
REST
应用程序,尤其是Java
REST的实现
我不确定JSON
或XML
在REST中扮演什么角色
一个示例显示我当前的理解:
JSON
或XML
在这个过程中适用于哪里 它是将数据从服务返回到前端的格式。它是将数据从服务返回到前端的格式。前端和api之间的数据传输是以JSON和/或XML完成的
所以,简单地说。。。
用户通过某个web页面请求一些数据,web页面向RESTful API请求特定数据,API将数据作为JSON发送给web页面,然后web页面处理并显示这些数据,或者对这些数据执行任何需要执行的操作
这是描述其角色的一般方式前端和api之间的数据传输是用JSON和/或XML完成的 所以,简单地说。。。 用户通过某个web页面请求一些数据,web页面向RESTful API请求特定数据,API将数据作为JSON发送给web页面,然后web页面处理并显示这些数据,或者对这些数据执行任何需要执行的操作
这是描述其角色的一般方式下面显示了控制器中的一个方法,该方法给出json响应
@RequestMapping(value = "/getSomething", method = RequestMethod.POST)
public @ResponseBody String getSomething(HttpServletRequest req)
{
JSONArray jsonArr = new JSONArray();
Collection someList = new ArrayList();
someList = someService.getsomeList(req); // here you get the response from service class to controller
Iterator iter = categoryList.iterator();
while (iter.hasNext()) // iterate the colleection
{
JSONObject jsonObj = new JSONObject();
SomeClass someObj = (SomeClass) iter.next();
jsonObj.put("name", someObj.getName());
jsonArr.put(jsonObj);
}
return jsonArr.toString(); // return jsonstring as response
}
这就是如何在视图中处理它(比如JSP
)。这里是对控制器的ajax调用,并将响应设置为页面中的字段
$.ajax({
url : "getSomething.htm", //request send to controller
type : "POST",
data : {
'someData' : data
},
success : function(data) {
var arr = JSON.parse(data);
response($.map(arr, function(item) {
return {
value : item.name, //setting the value to the view
};
}));
}
});
希望这有帮助 控制器中的一个方法如下所示,它给出json响应
@RequestMapping(value = "/getSomething", method = RequestMethod.POST)
public @ResponseBody String getSomething(HttpServletRequest req)
{
JSONArray jsonArr = new JSONArray();
Collection someList = new ArrayList();
someList = someService.getsomeList(req); // here you get the response from service class to controller
Iterator iter = categoryList.iterator();
while (iter.hasNext()) // iterate the colleection
{
JSONObject jsonObj = new JSONObject();
SomeClass someObj = (SomeClass) iter.next();
jsonObj.put("name", someObj.getName());
jsonArr.put(jsonObj);
}
return jsonArr.toString(); // return jsonstring as response
}
这就是如何在视图中处理它(比如JSP
)。这里是对控制器的ajax调用,并将响应设置为页面中的字段
$.ajax({
url : "getSomething.htm", //request send to controller
type : "POST",
data : {
'someData' : data
},
success : function(data) {
var arr = JSON.parse(data);
response($.map(arr, function(item) {
return {
value : item.name, //setting the value to the view
};
}));
}
});
希望这有帮助 如果我们把你的第五步分开。。。 1) 数据以某种格式从服务返回 2) UI以该格式接收并在屏幕上显示。 这种格式是XML或JSON,甚至是纯文本。这是您在从UI进行调用时提到的接受类型,并在服务中设置响应头
JSON代表Javascript对象表示法,因此,如果响应是JSON格式的,您可以通过使用JSON.parse对其进行解析直接将其用作Javascript变量。接受类型实际上取决于您的需求。在大多数情况下,JSON是首选的,因为它很容易转换为JS对象 如果我们把你的第五步分开。。。 1) 数据以某种格式从服务返回 2) UI以该格式接收并在屏幕上显示。 这种格式是XML或JSON,甚至是纯文本。这是您在从UI进行调用时提到的接受类型,并在服务中设置响应头
JSON代表Javascript对象表示法,因此,如果响应是JSON格式的,您可以通过使用JSON.parse对其进行解析直接将其用作Javascript变量。接受类型实际上取决于您的需求。在大多数情况下,JSON是首选的,因为它很容易转换为JS对象 正如其他人所说,在您的示例中,当数据从服务器返回到客户机时,JSON/XML几乎处于链的末端 将JSON和XML(以及其他格式)视为一种框。有些盒子是塑料做的,有些是硬纸板做的,因为它们有不同的用途 JSON/XML是用于向服务器发送/请求数据的“框”类型 在您的示例中:
- 用户单击前端上的按钮
- 用户被重新定向到URL,例如/User/{userid}
- 服务类中的Java方法调用repository(例如Crud repository)类来检索数据
- 存储库从数据库中提取数据(例如,关于特定用户的数据)
- 来自DB的数据从服务器的数据格式(“框类型”)转换为更常见的格式(如JSON或XML)
- JSON/XML格式的数据被发送到前端用于显示
您还可以使用它与其他也理解JSON的服务器进行通信(例如第三方API),因此,如果服务器A和B具有不同的数据表示(内部一个是Oracle支持的,另一个是Sybase支持的),它们仍然可以使用“通用”格式(如JSON)相互通信。正如其他服务器所说,在您的示例中,当数据从服务器返回到客户机时,JSON/XML几乎处于链的末端 想想JSON和XML(以及其他