JSON簡單介紹

「海闊天空」發表於2020-12-06

JSON

JSON,其實是單詞首字母的縮寫,JS表示JavaScript,O表示Object,N表示Notation,即JavaScript物件表示法,是一種儲存資料的方式。

建立JSON物件

var gareen = {"name":"蓋倫","hp":616};

這樣就建立了一個簡單的JSON物件,它由名稱/值對組成,名稱和值之間用冒號:隔開,名稱必須用雙引號"包含起來,值可以是任意javascript資料型別,字串,布林,數字,陣列甚至是物件,不同的名稱/值對之間用逗號,隔開。

訪問JSON物件

通過點.訪問JSON物件的屬性,例如:gareen.name

JSON陣列

建立JSON陣列

通過方括號[]建立JSON 陣列

var heros=
[
    {"name":"蓋倫","hp":616},
    {"name":"提莫","hp":313},
    {"name":"死歌","hp":432},
    {"name":"火女","hp":389}
]

訪問JSON陣列

訪問JSON陣列和訪問普通陣列一樣,通過下標訪問

heros[3].name

物件轉換

JSON物件與JavaScript物件

JSON其實就是JavaScript的一種自定義物件,所以不存在這兩者之間的轉換

字串轉為JSON物件

通過字串拼接得到一個JSON結構的字串,並不是一個JSON物件。 需要通過eval轉換得到,轉換的時候注意,eval 函式要以(開頭)結尾

var s= "{\"name\":\"蓋倫\",\"hp\":616}"
var gareen = eval("("+s+")");

JSON物件轉換為字串

json物件因為是一個javascript物件,所以如果直接列印的話,看不到裡面的內容。有時候要看看這個物件是不是我們期望的,所以需要通過 JSON.stringify函式把它轉換為字串

<script>
var hero = {"name":"蓋倫","hp":"616"};
document.write("這是一個json 物件:"+ hero);
document.write("<br>");
var heroString = JSON.stringify(hero)
document.write("這是一個json 字串:"+ heroString );
</script>