JS - json 学习 后台(java , php)
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html.
1 function Car(make, model, year, color){
2 this.make = make;
3 this.model = model;
4 this.year = year;
5 this.color = color;
6 }
2 this.make = make;
3 this.model = model;
4 this.year = year;
5 this.color = color;
6 }
JSON提供了json.js包,下载 http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
运用json格式的参数
1 function showCar() {
2 var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
3 /*
4 var str = '{ "name": "Violet", "occupation": "character" }'; //可以使用eval来转换JSON字符到Object
5 var carr = eval('(' + str + ')');
6 ||
7 var carr = str.parseJSON();
8 */
9 alert(carr.toJSONString());
10 }
2 var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
3 /*
4 var str = '{ "name": "Violet", "occupation": "character" }'; //可以使用eval来转换JSON字符到Object
5 var carr = eval('(' + str + ')');
6 ||
7 var carr = str.parseJSON();
8 */
9 alert(carr.toJSONString());
10 }
运用json格式的参数,传给后台服务器处理。(jQuery+jsp+json)
1 function sendRequest() {
2 var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
3 var pars = "car=" + $.toJSON(carr);
4 $.ajax({
5 url:"json.jsp",
6 data: pars,
7 dataType:"json",
8 success:function( data ){
9 alert( data.name ); //output Jser
10 }
11 });
12 }
2 var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
3 var pars = "car=" + $.toJSON(carr);
4 $.ajax({
5 url:"json.jsp",
6 data: pars,
7 dataType:"json",
8 success:function( data ){
9 alert( data.name ); //output Jser
10 }
11 });
12 }
JSP 端处理
1 <%
2 String s3 = request.getParameter("car");
3 try {
4 JSONObject jsonObj = new JSONObject(s3);
5 System.out.println(jsonObj.getString("model"));
6 System.out.println(jsonObj.getInt("year"));
7 String output = "{\"name\":\"Jser\",\"age\":22}";
8 out.print(output);
9 } catch (JSONException e) {
10 e.printStackTrace();
11 }
12 %>
2 String s3 = request.getParameter("car");
3 try {
4 JSONObject jsonObj = new JSONObject(s3);
5 System.out.println(jsonObj.getString("model"));
6 System.out.println(jsonObj.getInt("year"));
7 String output = "{\"name\":\"Jser\",\"age\":22}";
8 out.print(output);
9 } catch (JSONException e) {
10 e.printStackTrace();
11 }
12 %>