JSON语法

  前段时间使用VS CODE编译调试了C++程序,发现VSC很多配置选项都能以.JSON的文件格式来进行选项配置。今天来简单了解一下JOSN。

JSON简介
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 是一种轻量级的文本数据交换格式而非编程语言,其语法只支持字符串,数值,布尔值及null以及在此基础上的对象和数组。JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 语法是 JavaScript 语法的子集。

JSON 或者 JavaScript 对象表示法是一种轻量级的基于文本的开放标准,被设计用于可读的数据交换。约定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。

JSON 是 JavaScript Object Notation 的缩写。
这个格式由 Douglas Crockford 提出。
被设计用于可读的数据交换。
它是从 JavaScript 脚本语言中演变而来。
文件名扩展是 .json。
JSON 的网络媒体类型是 application/json。
统一标示符类型(Uniform Type Identifier)是 public.json。

JSON 使用范围

用于编写基于 JavaScript 应用程序,包括浏览器扩展和网站。
JSON 格式可以用于通过网络连接序列化和传输结构化数据。
主要用于在服务器和 Web 应用程序之间传输数据。
Web 服务和 APIs 可以使用 JSON 格式提供公用数据。
还可以用于现代编程语言中。

JSON 特点

JSON 容易阅读和编写。
它是一种轻量级的基于文本的交换格式。
语言无关。

JSON 简单示例

鉴于书籍数据有语言和版本信息,下面的例子展示了使用 JSON 存储书籍信息:

{
    "book": [
        {
            "id":"01",
            "language": "Java",
            "edition": "third",
            "author": "Herbert Schildt"
        },
        {
            "id":"07",
            "language": "C++",
            "edition": "second",
            "author": "E.Balagurusamy"
    }]
}

理解上述程序之后我们来看另外一个例子,让我们把下面的代码保存为 json.htm:

<html>
<head>
<title>JSON example</title>
<script language="javascript" >

    var object1 = { "language" : "Java", "author"  : "herbert schildt" };
    document.write("<h1>JSON with JavaScript example</h1>");
    document.write("<br>");
    document.write("<h3>Language = " + object1.language+"</h3>");  
    document.write("<h3>Author = " + object1.author+"</h3>");   

    var object2 = { "language" : "C++", "author"  : "E-Balagurusamy" };
    document.write("<br>");
    document.write("<h3>Language = " + object2.language+"</h3>");  
    document.write("<h3>Author = " + object2.author+"</h3>");   

    document.write("<hr />");
    document.write(object2.language + " programming language can be studied " +
    "from book written by " + object2.author);
    document.write("<hr />");

</script>
</head>
<body>
</body>
</html>

尝试使用 IE 或者其他任何启用了 JavaScript 的浏览器打开 json.htm,是不是很有趣。。。

JSON语法
JSON 的语法基本上可以视为 JavaScript 语法的一个子集,包括以下内容:
• 数据使用名/值对表示。
• 使用大括号保存对象,每个名称后面跟着一个 ‘:’(冒号),名/值对使用 ,(逗号)分割。
• 使用方括号保存数组,数组值使用 ,(逗号)分割。
下面是一个简单的示例:

{
    "book": [
        {
            "id":"01",
            "language": "Java",
            "edition": "third",
            "author": "Herbert Schildt"
        },
        {
            "id":"07",
            "language": "C++",
            "edition": "second"
            "author": "E.Balagurusamy"
    }]
}

JSON 支持以下两种数据结构:
名/值对集合: 这一数据结构由不同的编程语言支持。
有序的值列表: 包括数组,列表,向量或序列等等。

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

JSON 语法规则不复杂,它参考了 C 语言家族的一些习惯,学习起来并不会感到陌生。
• 数据在名称/值对中
• 数据由逗号分隔
• 花括号保存对象
• 方括号保存数组

JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"firstName" : "John"

JSON 值
JSON 值可以是:
•  数字(整数或浮点数)
•  字符串(在双引号中)
•  逻辑值(true 或 false)
•  数组(在方括号中)
•  对象(在花括号中)
•  null

JSON 对象
JSON 对象在花括号({})中书写:
对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }

JSON 数组
JSON 数组在方括号中书写:
数组可包含多个对象:

{      
"employees": [        
{ "firstName":"John" , "lastName":"Doe" },        
{ "firstName":"Anna" , "lastName":"Smith" },        
{ "firstName":"Peter" , "lastName":"Jones" }        
]        
}

JSON 布尔值
JSON 布尔值可以是 true 或者 false:

{ "flag":true }

JSON null
JSON 可以设置 null 值:

{ "runoob":null }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值