2020年12月6日 星期日

Javascript處理JSON常用的函式

JSON is?

  • JSON 就是 JavaScript Object Notation,JavaScript 物件表示法
  • JSON 為 純文字 格式
  • JSON 具自我描述性、易於人理解、閱讀和編寫,同時也易於機器解析和生成
  • JSON 較 XML (eXtensible Markup Language) 小、快且更易解析

JSON 格式

  JSON 字串可以包含 物件 (Object) 和 陣列 (Array)

Tips: 物件與陣列可互相包含,如:{"array": [{"object": "object"}]}

物件 (Object)

  • 物件以 { 開始,} 作結
  • 物件中格式為 name: value,以 : 分隔
  • name 必須以 "" 括起來 (單引號或雙引號皆可)
  • 若多個物件,則使用 , 分隔
1
2
3
4
{
"name1": value1,
"name2": value2
}

陣列 (Array)

  • 物件以 [ 開始,] 作結
  • 若多個物件,則使用 , 分隔
1
2
3
4
[
value1,
value2
]

物件 (Object) + 陣列 (Array) 範例

1
2
3
4
5
6
7
8
9
10
11
{
"name": "OAwan",
"sex" : "Male",
"age" : 27,
"married" : false,
"skills" : [
"RubyOnRails",
"JavaScript",
"Scss"
]
}

Javascript處理JSON的函式

stringify() 將物件序列化成 JSON 字串

JSON.stringify(obj, fn, indent) 

obj:欲作序列化的物件

fn:為 function 時,物件中將被序列化的屬性都會經過此 function 轉換和處理;若是 Array 時,表示指定特定屬性

indent:此參數控制序列化後字串的縮排(最多 10 個空格)


parse() 將 JSON 字串解析成 JavaScript 物件

JSON.parse(obj, fn)

obj:欲解析的 JSON 字串

fn:透過 function 處理後 return 屬性值,若 return undefined 則不包括此屬性

沒有留言:

張貼留言