JSON 簡介

JSON: JavaScript Object Notation(JavaScript 對象標記法)。

JSON 是一種存儲和交換數據的語法。

JSON 是通過 JavaScript 對象標記法書寫的文本。

交換數據

當數據在瀏覽器與服務器之間進行交換時,這些數據只能是文本。

JSON 屬于文本,并且我們能夠把任何 JavaScript 對象轉換為 JSON,然后將 JSON 發送到服務器。

我們也能把從服務器接收到的任何 JSON 轉換為 JavaScript 對象。

以這樣的方式,我們能夠把數據作為 JavaScript 對象來處理,無需復雜的解析和轉譯。

發送數據

如果您的數據存儲在 JavaScript 對象中,您可以把該對象轉換為 JSON,然后將其發送到服務器。

實例

var myObj = { name:"Bill Gates",  age:62, city:"Seattle" };
var myJSON =  JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;

親自試一試

您將在本教程稍后的章節學到更多有關 JSON.stringify() 函數的知識。

接收數據

如果您以 JSON 格式接收到數據,您能夠將其轉換為 JavaScript 對象:

實例

var myJSON = '{ "name":"Bill Gates",  "age":62, "city":"Seattle" }';
var myObj =  JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;

親自試一試

您將在本教程稍后的章節學到更多有關 JSON.parse() 函數的知識。

存儲數據

在存儲數據時,數據必須是某種具體的格式,并且無論您選擇在何處存儲它,文本永遠是合法格式之一。

JSON 讓 JavaScript 對象存儲為文本成為可能。

實例

把數據存儲在本地存儲中

//存儲數據:
myObj = { name:"Bill Gates",  age:62, city:"Seattle" };
myJSON =  JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
//接收數據:
text = localStorage.getItem("testJSON");
obj =  JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;

親自試一試

什么是 JSON?

  • JSON 指的是 JavaScript 對象標記法(JavaScript Object Notation)
  • JSON 是一種輕量級的數據交換格式
  • JSON 具有自我描述性且易于理解
  • JSON 獨立于語言*

*

JSON 使用 JavaScript 語法,但是 JSON 格式是純文本的。

文本可被任何編程語言作為數據來讀取和使用。

JSON 格式最初由 Douglas Crockford 提出。

為什么使用 JSON?

因為 JSON 格式僅僅是文本,它能夠輕松地在服務器瀏覽器之間傳輸,并用作任何編程語言的數據格式。

JavaScript 提供內建函數把以 JSON 格式寫的字符串轉換為原生 JavaScript 對象:

JSON.parse()

因此,如果您以 JSON 格式從服務器接收數據,那么您可以像任何其他 JavaScript 對象那樣使用它。