zoukankan      html  css  js  c++  java
  • 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:当服务器出错,用来处理异常的函数。

    本博客源代码:点击前往

  • 相关阅读:
    《C Primer Plus(第6版)中文版》一1.12 复习题
    《C Primer Plus(第6版)中文版》一1.12 复习题
    线程池多线程视频转码(完整版)
    mencoder的x264encopts选项参数略解
    ffmpeg多线程转码
    案例分析:程序媛记一次特殊的“故障”处理
    WINDOWS下CMake+MinGW64搭建C/C++编译环境
    lvs keepalived nginx-rtmp 视频流服务负载均衡系统搭建
    python 利用字典统计次数
    python 16进制 gbk转中文
  • 原文地址:https://www.cnblogs.com/NeverCtrl-C/p/6903498.html
Copyright © 2011-2022 走看看