JSON(JavaScript Object Notation ,js对象简谱)
定义:
- JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript
(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 ——摘自“百度百科” - JSON是一种轻量级的数据交换格式(相对于XML语言),完全独立于语言的文本格式,在C、C++、python、Java这些语言之间可以自由传输。
——摘自 :https://blog.csdn.net/weixin_39393712/article/details/106887193
-
JSON 是一种存储和交换数据的语法。
json本质就是字符串, json数据 是用在 语言 里面使用的, ( 语言有java,c#,js )json对象:的意思就是一组键值对的数据对象,在JavaScript里面就是JavaScript的对象,在c#(控制器就叫c#写法),java里面就是java的json对象(类/VO),不止JavaScript里面有json,c#控制器也会用json。
JSON 数据名称和值:
JSON 数据写为名称/值对。 名称/值由字段名称构成,后跟冒号和值:
所以一般的json格式是:
name={name01:“”,name02={ name02:“”,name021:“”} }
——摘自:https://blog.csdn.net/weixin_44600235/article/details/107630279
特点:
- 层次简介清晰
- 易于读写
- 易于机器的解析和生成
- 提高网络的传输效率
JSON中的数据类型
JSON中的值必须是:
- 数组
["foo","bar",true,1,2,3]
- 字符串
"Hello"
- 布尔值
true false
- 数字:整型
123
、浮点型1.42
- 对象
{"foo":"bar"}
JSON中的值不能是:
- 日期类型是字符串
- 函数
- undefined
注意一:
- JSON != js对象
- JSON只相当于一个字符串,当然它也可以是JS的几乎所有类型,像 object 、Array 、string、number、boolean。
注意二:
-
JSON数组
{"employees":["Bill","Steve","David"]} /* *单词注释: *employees:employee的复数 1、员工人数;2公司员工;3打工仔 *bill 1、账单;2、法案 *Steve 名字:史蒂夫 *David 名字:大卫 */
-
JSON字符串
//必须用双引号包围 {"name":"John"}
-
JSON数字
{"age":15} {"high":179.5}
-
JSON布尔值
{"fat":true} {"fat":false}
-
JSON对象
{ "student":{"name":"张三","age":19,"grade":"三年级"} }//这很像C++中的结构体,或者类
-
JSON NULL
//json 中的值可以为为空 {"name":null}
JS对象和JSON之间的转换
-
JS对象=>JSON
JSON.stringify({}); JSON.stringify([]); JSON.stringify("abc"); JSON.stringify(123); JSON.stringify(true);
-
JSON=>JS对象
JSON.parse("{}"); JSON.parse("[]"); JSON.parse("\"abc\""); JSON.parse("123"); JSON.parse("true");
注意:
- 千万不要使用
eval
替换JSON.parse