2013年11月25日 星期一

JSON

JSON (JavaScript Object Notation) 是採用 JavaScript 物件寫法的資料交換格式,可用 JavaScript eval() 函數或其它程式語言讀入。

  • 一個物件以大括號 { } 包起來,包含一系列以「,」分開的「名稱:」對。
    • 名稱以「:」分開,名稱是 "字串",可以是 "字串"、數字、true、false、陣列、或是物件、null。
    • 陣列用中括號 [ ] 包起來,內容是一系列以「,」分開的
  • RFC 4627 -- The application/json Media Type for JavaScript Object Notation (JSON)
    • 回傳 JSON 時, 特別是有中文, 記得送 header
  • 安全問題:eval() 能編譯並執行任意的 JavaScript 代碼,不可靠的資料來源可能產生安全問題。建議使用 JSON.parse(),較舊的瀏覽器可用 JavaScript Library https://github.com/douglascrockford/JSON-js
  • 與 XML 比較:XML 是完整的標記語言,判讀需要較多功,但有很好的延展性,是 JSON 所缺乏的。JSON 不是完整的標記語言,但比 XML 小巧,瀏覽器內建快速解析支援,適用於網路資料傳輸。
  • JSON 壓縮
  • 雖然 JSON 是可閱讀的文字檔,但有時需要美化才好閱讀

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...