JSON資料表示格式簡介(JavaScript對象標記法)

來源:互聯網
上載者:User

標籤:函數   parse   [1]   pat   ati   name   head   map   資料   

[1] JSON簡介
    > JSON全稱 JavaScript Object Notation
    > 類似於JS中對象的建立的方法
    > JSON和XML一樣,都是一種表示資料的格式
    > 但是JSON比XML的儲存和解析效能要高的多,JSON要比XML高個30%左右。
    <user>
        <name>sunwukong</name>
        <age>18</age>
        <gender>男</gender>
    </user>

    {"name":"孫悟空","age":8,"gender":男}

[2] JSON的格式
    > JSON字串不方便閱讀,但是傳輸效能好
    > XML方便閱讀,但是傳輸效能差
    > JSON的格式和JS物件類型,但是要求屬性名稱必須使用雙引號。不能使用單引號,也不能不寫引號!


    > JSON對象中實際就是一組一組的索引值對的結構,
    鍵和值使用:串連,多個索引值對之間使用,分開,注意如果是最後一組索引值對,則千萬不要在加,.
            例如: {"屬性名稱1":屬性值1,"屬性名稱2":屬性值2,"屬性名稱3":屬性值3,"屬性名稱4":屬性值4}

    > JSON運行屬性值的類型:
        1.字串
        2.數字
         3.布爾
        4.對象
        5.數組
        6.null

    > 數組:
    [屬性1,屬性2,屬性3,屬性4]

[3] JS中使用JSON
    JSON對象 --> JSON字串
    JSON.stringify(對象)
    JSON字串 --> JSON對象
    JSON.parse(JSON字串)

[4] Java中使用JSON
    > 目前Java中用的比較多的JSON解析工具:
    json-lib --> 使用麻煩,解析效能最差
    Jackson --> 使用較麻煩,解析效能最好
    Gson --> 使用簡單,解析效能中能
    - Gson是Google出的一款JSON解析工具,使用簡單,且效能較好。

    Java對象 --> JSON字串

//把map轉化為json字串Map<String,String> map=new HashMap();map.put("name", "張三");map.put("hobby", "籃球");map.put("genter", "男");String str=gson.toJson(map);

   JSON字串 --> Java對象

Map<String,String> map2=gson.fromJson(str, Map.class);System.out.println(map2);

 

[3].通過jQuery實現AJAX
    > 使用get和getJSON都會有緩衝問題,並且使用get方法不能傳送較多的資料。
    > post方法不會有緩衝的問題,所以我們開發時使用post方法較多。
    [1] post()方法
    $.post(url, [data], [callback], [type])
    參數:
        url:發送AJAX的請求地址,字串。
        data:發送給伺服器的請求參數,JSON格式。
        callback:當前需要擷取伺服器發送的響應時,我們可以通過該回呼函數。
    jQuery會將響應資訊以回呼函數的參數的形式返回
    type:響應資訊的類型,字串。一般兩個常用值text、json

    [2] get()方法
    - get方法和post方法使用方式基本一致。

    [3] getJSON()方法
    getJSON(url, [data], [callback])
    getJSON方法和get方法類似,只不過該方法預設的響應類型為JSON,不需要再手動指定。

    [4]下面給出一個小例子:(本例子頁面特別簡單,只為了只實現這一個功能)

先匯入jQuery所需要的jar包:

  我將這個jar包匯入了WebContent下的js檔案夾在(js檔案夾是自己建的)。

之後再jsp中引入jQuery

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.js"></script>

  然後就是jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.js"></script><script type="text/javascript">    $(function(){    $("#btn").click(function(){    var url="${pageContext.request.contextPath}/Servlet1";    var json={"name":"zhangsan"};    function callback(data){        }    $.get(url,json,callback);    });    });</script></head><body><button id="btn">確定</button></body></html>

  這樣後台就行接收到這個基於jQuery和json的get請求。

JSON資料表示格式簡介(JavaScript對象標記法)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.