1.6 JSON存儲數據方式(JavaScript對象表示法)


1.6 JSON存儲數據方式(JavaScript對象表示法)

JSON JavaScript 對象表示法(JavaScript Object Notation) 是一種存儲數據的方式。

一、創建JSON對象

var gareen = {"name":"蓋倫","hp":616}; 
這樣就創建了一個JSON 對象 
JSON對象由 名稱/值對組成 名稱和值之間用冒號:隔開 
名稱必須用雙引號" 包含起來 
值可以是任意javascript數據類型,字符串,布爾,數字 ,數組甚至是對象 
不同的名稱/值對之間用 逗號 , 隔開

<script>
var gareen = {"name":"蓋倫","hp":616};
  
document.write("這是一個JSON對象: "+gareen);
 </script>
//運行結果
這是一個JSON對象: [object Object]

1.2、訪問JSON節點

直接gareen.name訪問JSON對象的屬性

直接gareen.hp訪問JSON對象的屬性

二、通過方括號[] 創建JSON 數組

<script>
//通過方括號[] 創建JSON 數組
var heros=
[
    {"name":"蓋倫","hp":616},
    {"name":"提莫","hp":313},
    {"name":"死歌","hp":432},
    {"name":"火女","hp":389}
]
 //length個數
document.write("JSON數組大小"+heros.length);
//訪問JSON數組和訪問普通數組一樣,通過下標訪問
document.write( "第4個英雄是:" +  heros[3].name);
</script>

三、JSON對象轉換問題

3.1JSON對象與JavaScript對象

JavaScript對象 分內置對象(Number,String,Array,Date,Math)和自定義對象 
JSON就是自定義對象,只不過是以JSON這樣的數據組織方式表達出來 
所以不存在JSON對象與JavaScript對象的轉換問題

3.2字符串轉為JSON對象

通過字符串拼接得到一個JSON結構的字符串,並不是一個JSON對象。 需要通過eval轉換得到
轉換的時候注意,eval 函數要以 開頭,結尾
或者使用JQuery的$.parseJSON轉換函數

<script src="http://how2j.cn/study/jquery.min.js"></script>
<script>
var s1 = "{\"name\":\"蓋倫\"";
var s2 = ",\"hp\":616}";
var s3 = s1+s2;
  
document.write("這是一個JSON格式的字符串:" + s3);
document.write("<br>");
//1.使用JQuery的$.parseJSON轉換函數
var gareen1 = $.parseJSON(s3);
document.write("這是一個JSON對象: " + gareen1);
document.write("<br>");
//2.使用eval方法
var gareen2 = eval("("+s3+")");
document.write("這是一個JSON對象: " + gareen2);
</script>

3.3  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>

四、實際開發中的使用


免責聲明!

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



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