ASP.NET MVC Framework - JSON
JSON
JSON:JavaScript Object Notation
JSON 是一種輕量級資料交換格式
JSON 是純文字,無關任何程式語言
JSON 長得和 JavaScript 的 Object 差不多,只是在傳值時會先序列化成文字,要使用時再反序列化
JavaScript Object
由 key 和 value 組成
1 | var myData = { |
Serialization & Deserialization
Serialization:序列化
資料從前端傳到後端時,不能直接用 JavaScript Object
所以可以在 JavaScript 用 JSON.stringify() 將其轉為序列化的型態
1 | JSON.stringify(myData) |
後端收到後,可再把此段序列化 JSON 轉為該語言使用的形式
Deserialization:反序列化
而資料從後端傳到前端時,可在 JavaScript 使用 JSON.parse() 將其反序列化,轉回 JavaScript Object 的形式
假設現在將方才轉換成序列化的 myData 重新反序列化
1 | JSON.parse(myData) |
JsonResult
可以在 Controller 中透過撰寫 JsonResult 回傳 JSON 形式的資料
1 | [ ] |
Summery
- 前端傳資料給後端,沒辦法直接傳 Object 給 Server,因此會先序列化 Object 成文字
- 沒辦法直接把 Object 存進 LocalStorage、DataBase,因此會先序列化 Object 成文字
- 前端拿到後端回傳的 JSON 資料,想要進一步用 JavaScript 操作,要先反序列化成 Object