1.1 json資料格式
json是資料交換格式,常用於前端與後端的資料互動,比如前端發起乙個網路請求,伺服器會返回乙份資料,這份資料的格式就是json格式的,例如:
,]
}
可以看到在標準的json資料格式中,json資料中的key(也就是屬性)是字串型別的,一定會有「」引號包裹
還有就是json資料格式的層級是不限制的,往下可以無限的拓展
1.2 json物件
js中就是用json資料格式來做為物件使用的,比如
let person =,]
}
從中你會發現json物件和json格式 外觀 看起來幾乎是一模一樣的,不同的是 json物件的 key(屬性)沒有加上 「」 雙引號。但是: 這個key同樣是字串型別,只是它無需用雙引號包裹起來而已,就算我們用雙引號包裹起來,也是一樣的不會報錯。例如:
// 不加 "" 的json物件
let person =,]
} console.
log(person)
;// 加 "" 的json物件
let person2 =,]
} console.
log(person2)
;<
/script>
列印:
可以看到,不管key(屬性)加不加 「」 雙引號,列印出來的物件資訊都是一樣的
**只要是取物件的屬性值,一定是用.
**
2.1 獲取屬性值
// 不加 "" 的json物件
let person =,]
} console.
log(person.name)
;// 列印輸出ding
console.
log(person.age)
;// 列印輸出24
<
/script>
2.2 獲取json陣列中的某個屬性值
記住,要想獲取屬性值,就一定要先拿到該屬性所屬的物件
比如這樣乙個json物件陣列
let fuits =[,
]<
/script>
現在我們要拿到蘋果,怎麼獲取呢?
let fruits =[,
]/* 這種寫法是錯誤的,因為fruits沒有name這個屬性;
name這個屬性是fruits裡面的物件的,不是fruits自己的 */
// console.log(fruits.name);
// 列印:undefine
// 正確的做法是
// 1 先取出fruits中包含 蘋果 的物件0]
;// 2 再取屬性值
console.
log;
// 列印:蘋果
<
/script>
如上的**演示了,我們要獲取 json陣列物件中的某個屬性時,一定要先先拿到該屬性所屬的物件,再通過該物件去取屬性值
2.3 對2.2的衍生操作
如果json物件是這樣的:最外層是乙個json物件,裡面有三個屬性 「name」,「age」,「children」,其中children屬性又是乙個json物件陣列
let person =,]
}<
/script>
我們怎麼去列印出來 name==「zhang」 的屬性值呢?
**分析:**name == 「zhang」 的屬性值 屬於childrent陣列中的第乙個物件,按照獲取 json陣列物件中的某個屬性時,一定要先先拿到該屬性所屬的物件,再通過該物件去取屬性值
這條規則,我們分幾步走
1 先獲取children的第乙個物件
let first = children[
0]
誒,你會發現,children沒有定義,因為children也是person物件的屬性,ok,那麼我們是不是應該先取出children再說啊:
1 先取出children陣列
let children = person.children;
2 再取出children第乙個物件
let first = children[
0]
3 列印出 name屬性
console.
log(first.name)
// 列印:zhang
2.4 json的遍歷
記住,要想獲取屬性值,就一定要先拿到該屬性所屬的物件
案例1:純josn陣列物件下的遍歷
// 現在我們要把所有的 水果名稱列印出來
let fruits =[,
]for
(let i=
0;i)<
/script>
案例2:json物件下 json陣列的遍歷
let person =,]
}// 鐵一樣的原則:記住,要想獲取屬性值,就一定要先拿到該屬性所屬的物件
// 需求:把children裡面,每個name列印出來
// 分析:
// 1 先獲取children屬性
let children = person.children
// 2 遍歷children,要想拿屬性,一定要先拿到物件,而不是直接 children.name
for(
let i=
0; i< children.length; i++
)// jq版本
$(children)
.each
(function
(index,obj)
)<
/script>
給男人們看的。。。
給25歲以前男人的忠告 嚴肅話題 這是忠告也是建議.1.男人是社會的主體,不管你信或不信.所以男人應該有種責任感.2.25歲之前,請記得,愛情通常是假的,或者不是你所想象的那樣純潔和永遠.如果你過了25歲,那麼你應該懂得這個道理.3.吃飯7成飽最舒服.對待女友最多也請你保持在7成.4.30歲之前請愛...
雜記 給自己看的
隨筆 我就簡單的來總結一下我寒假在家的這段時間。思想的上帝行動的矮子,還記得在學校的時候,經常說的一句話就是,什麼時候可以讓我安靜一會,啥時候可以在宿舍裡沒有事,一直在宿舍裡面呆著,然後呆在宿舍裡面好幾天可以不用出門。後來的後來,結果還是沒有滿足我的願望,總感覺還沒有呆在宿舍呆到過癮的時候,那邊的那...
think js 詳解(給自己看的)
const base require base.js module.exports class extends base 獲取區域工單 async areaaction if think.isempty limit console.log user id 列印的在命令視窗檢視 let sum pag...