Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax

目录

  1 什么是json

  2 json语法

  3 json的使用

  4 利用jQuery实现ajax编程

1 什么是json

  JavaScript Object Notation(JavaScript 对象表示法)

  是一种轻量级的数据交换格式。  

  注:
    数据交换:将数据先转换成一种与平台无关的数据 格式(比如转换成xml),然后发送给接收方来处理。 
    轻量级:与xml相比,JSON文档更小,解析的速度更快。 

2 json语法

  2.1 表示一个对象

    {属性名:属性值,属性名:属性值...} 

    JSON对象在大括号中书写
    注:
      属性名必须使用双引号括起来(即:属性名必须是字符串)。
      属性值可以是string,number,true/false,null,object。
      属性值如果是string,必须使用双引号括起来。

  

  2.2 表示一个数组

    JSON 数组在中括号中书写。

    JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。

    JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined

  

3 使用json

  3.1 将Java对象转换成json字符串

    使用json-lib(JSONObject,JSONArray) 

    

 1 package test;
 2 
 3 import java.io.Serializable;
 4 import java.util.ArrayList;
 5 import java.util.List;
 6 import java.util.Random;
 7 
 8 import entity.Stock;
 9 import net.sf.json.JSONArray;
10 import net.sf.json.JSONObject;
11 
12 public class TestJson implements Serializable {
13 
14     private static void test01() {
15         Stock stock = new Stock();
16         stock.setCode(111);
17         stock.setName("重庆力帆");
18         stock.setPrice(10);
19         
20         System.out.println(stock);
21         
22 //        将Java对象装换成json字符串
23         JSONObject jsonObj = JSONObject.fromObject(stock);
24         String str = jsonObj.toString();
25         System.out.println(str);
26     }
27     
28     private static void test02() {
29         List<Stock> stocks = new ArrayList<Stock>();
30         Random r = new Random();
31         for(int i = 0; i < 4; i++) {
32             Stock stock = new Stock();
33             stock.setCode(111 + i);
34             stock.setName("重庆力帆0" + i);
35             stock.setPrice(r.nextInt(30));
36             
37             stocks.add(stock);
38         }
39         
40         System.out.println(stocks);
41         
42 //        将多个Java对象组成的集合或者数组转换json字符串
43         JSONArray jsonArr = JSONArray.fromObject(stocks);
44         String arr = jsonArr.toString();
45         System.out.println(arr);
46         
47     }
48     
49     public static void main(String[] args) {
50         test01();
51         test02();
52     }
53 
54 }
Java对象转换成json字符串

  3.2 将json字符串转换成js对象

     javascript内置的一个对象JSON提供的方法(parse)

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Insert title here</title>
 6     <script type="text/javascript">
 7         // 使用json语法表示一个对象
 8         function f1() {
 9             var obj = {"code":"123321","name":"fury","price":10};
10             alert(obj.name);
11         };
12         
13         function f2() {
14             var obj = {"name":"庠序科技",
15                             "address":{
16                                 "city":"重庆",
17                                 "street":"沙坪坝三峡广场",
18                                 "phone":12332188
19                             }
20             };
21             alert(obj.address.street);
22         };
23         
24         // 使用json语法表示一个由对象组成的数组
25         function f3() {
26             var arr = [
27                 {"name":"warrior","age":24},
28                  {"name":"fury","age":18}
29             ];
30             alert(arr[1].name);
31         }
32         
33         // 将json字符串转换成javascript对象
34         function f4() {
35             var str = '{"name":"warrior", "age":24}';
36             // 利用javascript内置的JSON对象提供的方法来做转换
37             var obj = JSON.parse(str);
38             alert(obj.name);
39         }
40         
41         // 将json数组字符串转换成js数组
42         function f5() {
43             var str = '[{"name":"warrior","age":24},' + 
44                          '{"name":"fury","age":18}]';
45             // 注意:返回的是由js对象组成的数组
46             var arr = JSON.parse(str);
47             
48             alert(arr[1].name);
49         }
50     </script>
51 </head>
52 <body style="font-size:30px">
53     <a href="javascript:f1();">ClickMe 1</a>
54     <hr />
55     <a href="javascript:f2();">AlsoClickMe 2</a>
56     <hr />
57     <a href="javascript:f3();">To clicke me 3</a>
58     <hr />
59     <a href="javascript:f4();">Clike Me 4</a>
60     <hr />
61     <a href="javascript:f5();">Also Clike Me 5</a>
62 </body>
63 </html>
json字符串转换成js对象

4 利用jQuery实现ajax编程

  利用jQuery实现ajax编程只需要实现 $.ajax() 方法就行了

  4.1 用法

    $.ajax({});

    

  4.2 常见的选项参数有这样一些

    url: 请求地址。 
    type: 请求类型(比如 'get')。 
    data: 请求参数,有两种格式:
      第一种:请求字符串形式,比如 "size=3"。
      第二种:对象形式,比如 {"size":3} 。

      

    dataType:服务器返回的数据类型(text: 文本, json: json字符串, xml: xml文档)
    success:当服务器处理正确,用来处理服务器返回的 数据的函数。
    error:当服务器出错,用来处理异常的函数。

本博客源代码:点击前往

原文地址:https://www.cnblogs.com/NeverCtrl-C/p/6903498.html