今天我們來學習一下javascript中的二維json。二維json在開發中非常常見,它可以用來存儲復雜的信息,比如二維表格的數據、樹狀結構等等。那么什么是二維json呢?
二維json是指在一個json對象中,某個屬性的值為一個json數組,每個json數組中的元素又是一個json對象。舉個例子,比如說我們要存儲一張學生的成績表,可以如下定義:
var score = { "class": "一年級", "students": [ { "name": "小明", "score": 90 }, { "name": "小紅", "score": 80 }, { "name": "小剛", "score": 95 } ] };
在上面的例子中,score對象有兩個屬性:class和students。其中class的值是一個字符串,而students的值則是一個json數組,數組中的元素又是json對象。這個json對象中有兩個屬性:name和score,分別存儲學生的姓名和成績。
訪問二維json的時候,可以通過索引的方式進行。比如,我們要訪問小明的成績,可以這樣寫:
var xiaomingScore = score.students[0].score; console.log(xiaomingScore); // 90
上面的代碼中,score.students[0]可以訪問到小明這個學生的json對象,再通過.score的方式訪問到小明的成績。
二維json的優點在于,可以方便地存儲復雜的信息,并且可以通過索引的方式方便訪問。比如說,我們要存儲一棵樹狀結構,可以如下定義:
var treeData = { "id": "1", "name": "root", "children": [ { "id": "2", "name": "node1", "children": [ { "id": "4", "name": "node3", "children": [] }, { "id": "5", "name": "node4", "children": [] } ] }, { "id": "3", "name": "node2", "children": [ { "id": "6", "name": "node5", "children": [] } ] } ] };
在上面的例子中,treeData對象有三個屬性:id、name和children。其中id和name是樹的根節點的屬性,而children是一個json數組,數組中存儲了根節點的所有子節點。每個子節點也是一個json對象,有三個屬性:id、name和children。如果我們要訪問node4節點的id,可以這樣寫:
var node4Id = treeData.children[0].children[1].id; console.log(node4Id); // 5
以上就是javascript二維json的介紹,希望能幫助大家更好地理解json的使用。