首页 > 其他分享 >2. json语法规则

2. json语法规则

时间:2022-08-25 11:45:53浏览次数:59  
标签:定义 对象 JavaScript 使用 JSON 语法 json 规则 name

1. 前言

JSON 的语法与 JavaScript 中的对象很像,在 JSON 中主要使用以下两种方式来表示数据:

  • Object(对象):键/值对(名称/值)的集合,使用花括号{ }定义。在每个键/值对中,以键开头,后跟一个冒号:,最后是值。多个键/值对之间使用逗号,分隔,例如{"name":"百度","url":"https://www.baidu.com/"}
  • Array(数组):值的有序集合,使用方括号[ ]定义,数组中每个值之间使用逗号,进行分隔。


下面展示了一个简单的 JSON 数据:

{
    "Name":"百度",
    "Url":"https://www.baidu.com/",
    "Tutorial":"JSON",
    "Article":[
        "JSON 是什么?",
        "JSONP 是什么?",
        "JSON 语法规则"
    ]
}

注意:所有 JSON 数据需要包裹在一个花括号中,类似于 JavaScript 中的对象。

2. JSON 中的键

JSON 数据是以键/值对(名称/值)的形式书写的,键表示数据的名称,需要以字符串的形式定义(在双引号中定义),后面紧跟一个冒号,最后是值,如下例所示:

"name":"百度"

类似于 JavaScript 对象中的:

name:"百度"

3. JSON 中的值

JSON 中的值可以是以下数据类型:

  • 数字(整数或浮点数);
  • 字符串(需要在双引号中定义);
  • 布尔值(true 或 false);
  • 数组(在方括号中定义);
  • 对象(在花括号中定义);
  • null(空)。


另外,在 JSON 中,不同的键/值对之间需要使用逗号进行分隔,如下例所示:

 1 {
 2     "number":123,
 3     "float":3.14,
 4     "string":"百度",
 5     "bool":true,
 6     "array":[
 7         "employees",
 8         {"name":"peter", "age": 18},
 9         {"name":"Anna", "age": 16}
10     ],
11     "object":{
12         "name":"百度",
13         "url":"http/xxxxxxxxxxxxxxxx"
14     }
15 }

在使用 JSON 时,有以下几点需要注意:

JSON 是一段包裹在花括号中的数据,数据由若干键/值对组成;

  • JSON 是一段包裹在花括号中的数据,数据由若干键/值对组成;
  • 键和值之间使用冒号分隔;
  • 不同的键/值对之间使用逗号分隔;
  • 键需要以字符串的形式定义(即使用双引号包裹,注意:不能使用单引号);
  • 值可以是数字、字符串、布尔值、数组、对象、null;
  • 键必须是唯一的,不能重复,否则后定义的键/值对会覆盖前面定义的键/值对;
  • JSON 中不可以使用八进制或十六进制表示数字。

4. JSON 与 JavaScript 对象的区别

粗略的看起来,您可能觉得 JSON 就是一个 JavaScript 的对象,但其实不是这样的,JSON 与 JavaScript 对象之间还是有区别的。

首先,JSON 是一种数据交换格式,可以跨语言、跨平台使用,它只是与 JavaScript 有些渊源,并不是 JavaScript 的一部分。

就语法而言,JSON 与 JavaScript 最主要的区别就是,JSON 中每个键都必须是一个字符串,而 JavaScript 对象则没有这个限制,如下所示:

1 // JavaScript 中的对象
2 {
3     foo: "bar"
4 }
5 
6 // JSON
7 {
8     "foo": "bar"
9 }

另外,在 JavaScript 对象中,您既可以使用双引号也可以使用单引号,但在 JSON 中只能使用双引号。还有就是 JSON 中没有日期类型,也不能定义注释,所以您只能通过日期的字符串(例如:1970-01-01)或者时间戳(例如:1632366361)来表示日期。

标签:定义,对象,JavaScript,使用,JSON,语法,json,规则,name
From: https://www.cnblogs.com/jiajunling/p/16623769.html

相关文章

  • 学会了JsonPath,你的Python接口脚本才算完整
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试01Jsonpat......
  • 盒子模型、 浮动布局、定位属性、 z-index、JavaScript基础语法
    今日内容概要盒子模型浮动布局定位属性z-indexJavaScript基础语法今日内容详细盒子模型所有的标签都可以看成是一个快递盒1.外边距(margin):指标签之间的距离(......
  • 前端解决跨域问题的方法:jsonp
    同源策略同源策略/SOP(Sameoriginpolicy)是一种约定,是浏览器最核心也最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容......
  • setup语法糖
    <template><div>AppContent:{{message}}</div><button@click="changeMessage">修改message</button><showInfoname="why":age="18"......
  • curl 返回json 并格式化
    应用curlhttp://url/path|python-mjson.tool例子curl'http://localhost:9090/api/v1/targets?state=active'|python-mjson.tool%Total%Received%X......
  • mysql增删改查json中的某个字段
    创建表1CREATETABLEt_json(idINTPRIMARYKEY,NAMEVARCHAR(20),infoJSON);插入记录1INSERTINTOt_json(id,sname,info)VALUES(1,'test','{"time":"20......
  • nginx配置文件语法高亮
    下载nginx.vim支持文件[root@uat-sh-bs-3-b5-nginx-0-11vim74]#cd/usr/share/vim/vim74/syntax/[root@uat-sh-bs-3-b5-nginx-0-11vim74]#wget--no-check-certif......
  • python语法随笔:{!r}、*a, = 、enumerate、dic[1]和dic[1.0]、dis、isinstance(True,in
    f"{!r}"等价与'{!r}'.format()输出会带上引号和print('%r'%a)相同a='2'print(f"{a}")print("{}".format(a))print(f"{a!r}")print("{!r}".format(a))输......
  • Markdown基础语法
    Markdown学习标题三级标题字体Hello,World粗体Hello,World斜体Hello,World斜体加粗Hello,World删除线引用右尖括号+空格分割线三个小横杠“-”+回车三......
  • Java基本语法
    >JAVA基本语法标识符定义:凡是自己可以起名字的地方都叫标识符。涉及到的结构:包名、类名、接口名、方法名、变量名、常量名。标识符命名规则:(必须遵守,否则编译不通过)1.......