JSON數據交互(SpringMVC進行json交互)

最近在使用json數據,現將這幾天的使用心得整理如下:
一:JSON定義

json (javascript object notation)
    (1)json是什麼?
        是一種輕量級的數據交換標準。
        1)數據交換
           將數據轉換成一種與平臺無關的數據格式並傳遞給接收方。
           比如:服務器端有一個order對象,要發送給瀏覽器,可以將order對象表示的數據轉換成
            一個xml文檔然後發送給瀏覽器,在瀏覽器端,再去解析這個xml文檔就可以獲得order信息
            <order>
                <name>order001</name>
                <price>100</price>
                ....
            </order>
    也可以將order對象表示的數據轉換成一個json字符串{'name':'order001','price':100,....}
       然後發送給瀏覽器,在瀏覽器端,可以很方便地將這個
       json字符串轉換成一個js對象,然後獲得order信息。
    2)輕量級 
        相對於xml作爲數據交換標準,json所需要的文檔大小更小,解析的速度更快。
    (2)json的語法          www.json.org
        1)表示一個對象
            {屬性名稱1:屬性值1,屬性名稱2:屬性值2...}
          注意:
             a,屬性名稱要用引號(單引號或者雙引號)括起來。
             b,屬性值可以是number,string,boolean(true/false),null,object
             c,如果屬性值是string,要用引號括起來。
        2)表示一個對象組成的數組[{},{},{}...]
    (3)使用json編寫ajax應用程序
        1) java對象轉換成json字符串。
            或者java對象組成的集合轉換成json字符串。
            使用json提供的官方的工具JSONObject,JSONArray
        2)json字符串轉換成javascript對象
            使用一些js框架提供的函數,比如prototype提供的evalJSON函數。
    java對象轉換爲js對象    java對象轉換爲JSON對象  JSON對象轉換爲js對象

        prototype.js提供了很多有用的函數,比如:
          $(id): document.getElementById(id)   
          $F(id): $(id).value
    $(id1,id2,id3....): 分別查找id爲id1,id2,id3...的節點,然後返回一個由這些節點組成的數組。
          strip(): 除掉字符串兩端的空格。
          evalJSON():將json字符串轉換成相應的js對象或者js對象組成的數組。

二:why要進行json數據交互
json數據格式在html頁面中、接口調用中使用比較多,它的格式比較簡單,解析相對方便。
比如:webservice接口,傳輸json數據。
三:SpringMVC進行json交互
1:客戶端請求發送的數據可分爲兩種:json字符串和key/value數據。
2:json字符串需要指定contentType=application/json
key/value數據contentType=application/x-www-form-urlencoded
如圖:
json字符串和key/value數據的對比
3:若客戶端請求的是json字符串,@RequestBody可以將json串轉成java對象,@ResponseBody也可以將java對象轉成json串輸出; 若請求的是key/value數據,不需要@RequestBody將json串轉成java對象,@ResponseBody將java對象轉成json串輸出。
如圖:請求json字符串和key/value對比圖

綜述:(1)、請求json、輸出json,要求請求的是json串,所以在前端頁面中需要將請求的內容轉成json,不太方便。
(2)、請求key/value、輸出json。此方法比較常用。
三:加載json轉的jar包
springmvc中使用jackson的包進行json轉換(@requestBody和@responseBody使用下邊的包進行json轉),如圖:
這裏寫圖片描述

四:配置JSON轉換器
在SpringMVC.xml中的註解適配器中加入messageConverters

messageConverters

注意:如果使用**

<mvc:annotation-driven conversion-service="conversionService"
    validator="validator"></mvc:annotation-driven>

**,則不用定義上邊的內容。
五:json交互測試(略)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章