JSON Einführung

JSON: JavaScript Object Notation (JavaScript-Objekt-Markierung).

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;

Probieren Sie es selbst aus

您将在本教程稍后的章节学到更多有关 JSON.stringify() 函数的知识。

接收数据

如果您以 JSON 格式接收到数据,您能够将其转换为 JavaScript 对象:

实例

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

Probieren Sie es selbst aus

您将在本教程稍后的章节学到更多有关 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;

Probieren Sie es selbst aus

Was ist JSON?

  • JSON bezieht sich auf das JavaScript Object Notation (JavaScript Object Notation)
  • JSON ist ein leichtes Datenübertragungsformat
  • JSON ist selbstbeschreibend und leicht verständlich
  • JSON ist unabhängig von der Sprache*

*

JSON verwendet die Syntax von JavaScript, aber das JSON-Format ist rein textbasiert.

Text kann von jeder Programmiersprache als Daten gelesen und verwendet werden.

Das JSON-Format wurde ursprünglich von Douglas Crockford vorgeschlagen.

Warum JSON verwenden?

Da das JSON-Format nur Text ist, kann es leicht zwischen Server und Browser übertragen werden und dient als Datenformat für jede Programmiersprache.

JavaScript bietet eingebaute Funktionen, um Strings, die im JSON-Format geschrieben sind, in native JavaScript-Objekte umzuwandeln:

JSON.parse()

Daher können Sie Daten, die Sie im JSON-Format von einem Server empfangen, wie jeden anderen JavaScript-Objekt verwenden.