2018年3月20日 星期二

JSON 格式與 JavaScript 解析教學範例

出處 :  MIS 腳印
https://smalljacky.com/uncategorized/json-format-and-javascript/

1、簡介

1-1、什麼是 JSON

  • JSON (JavaScript Object Notation,JavaScript 物件表示法)。
  • 一種以純文字為基礎,來儲存和交換簡單結構的輕量級「資料交換格式」(類似 XML)。
  • 獨立於語言。
  • 具有自我描述性,更易於人理解、閱讀和編寫,同時也易於機器解析和生成。
  • JSON 比 XML(eXtensible Markup Language,可延伸標記式語言)更小、更快且更易解析。

1-2、應用領域

JSON 最開始被廣泛的應用於 Web 的開發,隨著 Web 2.0 的方興未艾,JSON 在 Web 資料傳輸領域占有重要的地位。
JSON 因小巧與瀏覽器內建快速解析支援,因此較適用於網路資料傳輸領域,而目前最常用在 AJAX (Asynchronous JavaScript and XML,非同步的 JavaScript 與 XML 技術) 的資料傳輸。

1-3、JSON 與 XML 比較

JSON 與 XML 最大的不同在於 XML 是一個完整的標記語言,而 JSON 不是。這使得 XML 在程式判讀上需要比較多的功夫。主要的原因在於 XML 的設計理念與 JSON 不同。XML 利用標記語言的特性提供了絕佳的延展性(如 XPath),在資料儲存,擴充功能及高階檢索方面具備對 JSON 的優勢,而 JSON 則由於比 XML 更加小巧,以及瀏覽器的內建快速解析支援,使得其更適用於網路資料傳輸領域。

2、JSON 格式

2-1、字串

JSON 字串可以包含物件(Object)或陣列(Array)資料。

2-1-1、物件

  • 一個物件以 { 開始,並以 } 結束,來寫入資料。
  • name 為字串,必須以 "" 括起來。
  • name 與 value 之間使用 : 分隔。
  • 多個 name:value 之間使用 , 分隔。
{"name": value, "name": value}

2-1-2、陣列

  • 一個陣列以 [ 開始,並以 ] 結束,來寫入資料。
  • 多個 value 之間使用 , 分隔。
[value, value]

2-2、物件和陣列值

  • 物件(Object):{}
  • 陣列(Array):[]
  • 字串(String):以 "" 括起來。
  • 數值(number):0-9 的數字組合(整數、小數或負數)。
  • 布林(boolean):true 或 false
  • 空值(Null):null
{"array": ["string", 10, 1.0, -1, true, false, null]}

3、JSON 字串範例

例如一個會員的基本資料,使用 JSON 字串表示如下:
1
2
3
4
5
6
7
8
9
10
{
    "number": "1020501",
    "name": "小傑",
    "age": 32,
    "sex": "M",
    "interest": [
        "網頁設計",
        "撰寫文章"
    ]
}

沒有留言:

Java 不同編碼字串, 其字串長度大小計算

以 Java 開發專案, 在 DAO 寫入資料庫時, 常遇到JAVA 字串與資料庫編碼不一致, 有時會產生字串過長,導致無法寫入資料庫的情況. 這時就要在入庫前, 先驗證 JAVA 編碼字串是否超出資料庫欄位長度 JAVA 依 不同編碼, 其長度是不一樣的 如: ...