1. JSON 是什么
- JSON: JavaScript Object Notation(JS 对象表示法)
- JSON 独立于任何编程语言, 几乎所有编程语言都提供了访问 JSON 数据的 API 接口
- JSON 是一种语法,用来序列化其它语言创建的数据类型
- JSON 仅支持 6 种数据类型:对象,数组,数值,字符串,布尔值,null
- JSON 只是借用了 JS 中的一些数据表示语法,与 JS 并无关系
2. JSON 数据类型
序号 |
类型 |
描述 |
1 |
简单值 |
数值,字符串,布尔,null |
1 |
复合值 |
对象,数组 |
注意: 不支持undefined
(因为除 JS 外,其它语言中没有这个东西)
3. JS 解析 JSON 的 API
序号 |
方法 |
描述 |
1 |
JSON.stringify() |
将 JS 对象,序列化为 JSON 字符串 |
2 |
JSON.parse() |
将 JSON 字符串,解析为 JS 对象 |
<script>
// 1. json : 就是一个字符串
// 2. json: 用对象或数组的字面量语法,来表示一组相关的数据
// json字符串
let jsonStr = `
{
"id": 111,
"name": "JS就该这样学",
"price": 99
}
`;
// 1. 属性必须是字符串,且必须使用"双引号"
// 2. 字符串类型的值必须使用"双引号"
// 3. 最后一个数据后面不要有逗号
// 1. json 如何用到 js中
// (1)json -> js对象
let book = JSON.parse(jsonStr);
console.log(book);
// (2) js对象渲染到页面中
let html = `
<ul>
<li>书号: ${book.id} </li>
<li>名称: ${book.name} </li>
<li>价格: ${book.price} 元</li>
</ul>
`;
document.body.insertAdjacentHTML("afterbegin", html);
// 3. json 用到其它语言中,php,java,python,go ...
// js对象 ==> json 字符串 --> 由不同的语言的api处理
let obj = { id: 111, name: "JS就该这样学", price: 99 };
// js -> json
let str = JSON.stringify(obj);
console.log(str);
</script>