JSON(格式、取值、格式轉換)


1、JSON(JavaScript Object Notation)概述

(1)概念

JSON是一種輕量級的數據交換格式,功能上類似於XML,但是JSON的數據更新更容易解析,更小、速度更快。

JSON是一種完全獨立於編程語言的文本格式(占用空間小,利於傳輸),因此JSON可以運用於不同的語言中。

采用完全獨立於編程語言的文本格式來存儲和表示數據

易於閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率

數據格式:對象和字符串

(2)前后端分離

后端獨立部署,提供接口,提供數據

前端獨立部署,負責渲染后端的數據

 

2、JSON對象

        {
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
        }

(1)一共為product對象創建了四個變量,並為變量進行了賦值。

(2)在創建對象時,數值名稱必須用雙引號,數值是Object類型。

 

3、JSON數組(多個對象)

        [{
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
        },
        {
            "pname":"薯脆",
            "price":2.3,
            "paddress":"河南省鄭州市",
            "ptime":"2020-2-10"
        },
        {
            "pname":"可口可樂",
            "price":4.00,
            "paddress":"河南省鄭州市",
            "ptime":"2020-1-23"
        }
        ]

(1)該數組中包括了三個元素,每個元素代表一個商品的信息,

(2)花括號中的內容是一個對象,方括號中的內容是一個數組。

(3)值的本身也是一個對象:

supermarket={
            "productes":[
            {
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
            },
            {
                "pname":"薯脆",
                "price":2.3,
                "paddress":"河南省鄭州市",
                "ptime":"2020-2-10"
            },
            {
                "pname":"可口可樂",
                "price":4.00,
                "paddress":"河南省鄭州市",
                "ptime":"2020-1-23"
            }
            ],
            "address":"河南省周口市"
            }

一個超市有多個商品信息。

 

4、JSON的取值

(1)從對象中取值:

<script>
            var product={
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
        };
        alert(product.pname);
        </script>

 

 (2)從數組中取值:

<script>
            var products=  [{
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
        },
        {
            "pname":"薯脆",
            "price":2.3,
            "paddress":"河南省鄭州市",
            "ptime":"2020-2-10"
        },
        {
            "pname":"可口可樂",
            "price":4.00,
            "paddress":"河南省鄭州市",
            "ptime":"2020-1-23"
        }
        ];
        alert(products[1].pname);
        </script>

 

 (3)值為對象的時候的取值方法:

<script>
        var supermarket={
            "productes":[
            {
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
            },
            {
                "pname":"薯脆",
                "price":2.3,
                "paddress":"河南省鄭州市",
                "ptime":"2020-2-10"
            },
            {
                "pname":"可口可樂",
                "price":4.00,
                "paddress":"河南省鄭州市",
                "ptime":"2020-1-23"
            }
            ],
            "address":"河南省周口市"
            };
           alert(supermarket.productes[1].pname);
        </script>

 

 5、修改值

<script>
        var supermarket={
            "productes":[
            {
            "pname":"小熊餅干",
            "price":12.3,
            "paddress":"河南省漯河市",
            "ptime":"2020-1-10"
            },
            {
                "pname":"薯脆",
                "price":2.3,
                "paddress":"河南省鄭州市",
                "ptime":"2020-2-10"
            },
            {
                "pname":"可口可樂",
                "price":4.00,
                "paddress":"河南省鄭州市",
                "ptime":"2020-1-23"
            }
            ],
            "address":"河南省周口市"
            };
            supermarket.productes[1].pname="雪碧";
           alert(supermarket.productes[1].pname);
</script>

 

6、json對象對象和json字符串的轉換

(1)json對象轉換為json字符串

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var user={
                name:"zhai",
                age:12,
                sex:""
            };
            var json=JSON.stringify(user);
            console.log(json);
            console.log(user);
        </script>
    </head>
    <body>
    </body>
</html>

先創建一個js的user對象,然后調用方法將user對象轉換為json對象

 第一個是json對象(是字符串格式,不能展開),第二個是js創建的對象可以展開查看所有的屬性

(2)json字符串轉換為json對象

在網絡中傳輸的json是(服務器向而客戶端傳輸的數據)字符串形式的,將數據返回到前端時,是通過js代碼進行處理的,因此需要進行格式的轉換

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var user={
                name:"zhai",
                age:12,
                sex:""
            };
            var json=JSON.stringify(user);
            console.log(json);
            var obj=JSON.parse(json);
            console.log(obj);
        </script>
    </head>
    <body>
    </body>
</html>

先調用方法將一個js對象轉化為json對象,再調用方法將json對象轉化為js對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM