JSON 语法是 JavaScript 语法的子集。
JSON 语法源自 JavaScript 对象表示法语法:
数据以名称/值对的形式存在
数据以逗号分隔
大括号保存对象
方括号保存数组
JSON 数据以名称/值对(也称为键/值对)的形式编写。
名称/值对由字段名称(用双引号引起来)组成, 后跟一个冒号,后跟一个值:
"name":"John"
JSON 名称需要双引号。
JSON 格式几乎与 JavaScript 对象相同。
在 JSON 中,keys 必须是字符串,用双引号编写:
{"name":"John"}
在 JavaScript 中,键可以是字符串、数字或标识符名称:
{name:"John"}
在 JSON 中,值必须是以下数据类型之一:
一个字符串
一个号码
一个东西
数组
一个布尔值
无效的
在 JavaScript 中,值可以是上述所有值,以及任何其他有效的 JavaScript 表达,包括:
一个函数
一个约会
不明确的
在 JSON 中,字符串值必须用双引号编写:
{"name":"John"}
在 JavaScript 中,您可以使用双或单引号编写字符串值:
{name:'John'}
因为 JSON 语法源自 JavaScript 对象表示法,所以很少有额外的内容 需要软件才能在 JavaScript 中处理 JSON。
使用 JavaScript,您可以创建一个对象并将数据分配给 它,像这样:
person = {name:"John", age:31, city:"New York"};
您可以像这样访问 JavaScript 对象:
// returns John
person.name;
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
也可以这样访问:
// returns John
person["name"];
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj["name"];
</script>
</body>
</html>
数据可以这样修改:
person.name = "Gilbert";
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York" };
myObj.name = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
也可以这样修改:
person["name"] = "Gilbert";
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
myObj["name"] = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
稍后您将学习如何将 JavaScript 对象转换为 JSON 教程。
就像 JavaScript 对象可以写成 JSON 一样,JavaScript 数组也可以 也可以写成JSON。
您将在本教程后面了解有关对象和数组的更多信息。
JSON 文件的文件类型是“.json”
JSON 文本的 MIME 类型是“application/json”