JSON初步瞭解(javaweb)

JSON:

    1. 概念: JavaScript Object Notation       JavaScript對象表示法

        Person p = new Person();

        p.setName("張三");

        p.setAge(23);

        p.setGender("男");

 

        var p = {"name":"張三","age":23,"gender":"男"};

 

        * json現在多用於存儲和交換文本信息的語法

        * 進行數據的傳輸

        * JSON 比 XML 更小、更快,更易解析。

    

    2. 語法:

        1. 基本規則

            * 數據在名稱/值對中:json數據是由鍵值對構成的

                * 鍵用引號(單雙都行)引起來,也可以不使用引號

                * 值得取值類型:

                    1. 數字(整數或浮點數)

                    2. 字符串(在雙引號中)

                    3. 邏輯值(true 或 false)

                    4. 數組(在方括號中)    {"persons":[{},{}]}

                    5. 對象(在花括號中) {"address":{"province":"陝西"....}}

                    6. null

            * 數據由逗號分隔:多個鍵值對由逗號分隔

            * 花括號保存對象:使用{}定義json 格式

            * 方括號保存數組:[]

        2. 獲取數據:

            1. json對象.鍵名

            2. json對象["鍵名"]

            3. 數組對象[索引]

            4. 遍歷

                     //1.定義基本格式

                    var person = {"name": "張三", age: 23, 'gender': true};

            

                    var ps = [{"name": "張三", "age": 23, "gender": true},

                        {"name": "李四", "age": 24, "gender": true},

                        {"name": "王五", "age": 25, "gender": false}];

       

                    //獲取person對象中所有的鍵和值

                    //for in 循環

                   /* for(var key in person){

                        //這樣的方式獲取不行。因爲相當於  person."name"

                        //alert(key + ":" + person.key);

                        alert(key+":"+person[key]);

                    }*/

            

                   //獲取ps中的所有值

                    for (var i = 0; i < ps.length; i++) {

                        var p = ps[i];

                        for(var key in p){

                            alert(key+":"+p[key]);

                        }

                    }

    

 

    3. JSON數據和Java對象的相互轉換

 

        * JSON解析器:

            * 常見的解析器:Jsonlib,Gson,fastjson,jackson

        

        1. JSON轉爲Java對象

            1. 導入jackson的相關jar包

            2. 創建Jackson核心對象 ObjectMapper

            3. 調用ObjectMapper的相關方法進行轉換

                1. readValue(json字符串數據,Class)

        2. Java對象轉換JSON

            1. 使用步驟:

                1. 導入jackson的相關jar包

                2. 創建Jackson核心對象 ObjectMapper

                3. 調用ObjectMapper的相關方法進行轉換

                    1. 轉換方法:

                        * writeValue(參數1,obj):

                            參數1:

                                File:將obj對象轉換爲JSON字符串,並保存到指定的文件中

                                Writer:將obj對象轉換爲JSON字符串,並將json數據填充到字符輸出流中

                                OutputStream:將obj對象轉換爲JSON字符串,並將json數據填充到字節輸出流中

                        * writeValueAsString(obj):將對象轉爲json字符串

 

                    2. 註解:

                        1. @JsonIgnore:排除屬性。

                        2. @JsonFormat:屬性值得格式化

                            * @JsonFormat(pattern = "yyyy-MM-dd")

 

                    3. 複雜java對象轉換

                        1. List:數組

                        2. Map:對象格式一致


 

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