JSON简介:能与外星人对话的“宇宙语言”

JSON(JavaScript Object Notation,即JavaScript对象表示法)是一种轻量级的数据交换格式。它是基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。

一、JSON的构成

JavaScript(简称JS)是一种编程语言,但JSON不是,它只是一种数据格式。这种数据格式已成为“宇宙语言”,可以为任何编程语言服务。

1.对象

这种数据格式很简单,就是全部由“键值对(key-value pair)”构成,然后通过[]、{}来划分这些键值对的层次。

所谓的键值对也很好理解,老金估计是从键盘来的。键(key)就是键盘上的按键嘛,比如A,值(value)就是按键代表的值,比如A的ASCII码值是65,这和“姓别:孟姜女”,“年龄:28”是一样的。所以“键值对”就是配对,是一种映射关系,就像我们小时候做的连线题一样。C++中的map(关联容器)、python的dict(字典),都是使用“键值对”的数据结构。

孟姜女们在JSON中都被称为对象,把它们用{}括起来就成了JSON。

示例:

{  
    "姓别": "孟姜女",  
    "年龄": 28,  
    "技能": "哭",
    "攻击对象": "长城",
    "倒没": true  
}

虽然结构形式确实很简单,但还是要注意几点细节:

①键必须是字符串,并且用双引号""包围;

②值可以是字符串、数字、对象、数组、布尔值(true或false)或者null,也就是什么样的值都可以。如果不是字符串,就不用双引号""包围。

③键和值之间用“:”隔开;

④键值对间用逗号隔开,最后一项后的逗号省略。

2.数组

如果把多个值用[]包起来,就变成了数组。

示例:

[  
    "范喜良",  
    "秦始皇"
]

数组的构成规则和对象差不多,只不过它只含有值,没有键。

3.对象和数组的嵌套

JSON只有两种结构:对象和数组。是不是非常简单?

前面说了,值可以是对象,所以你会看到JSON{}中有[],[]中有{},但最开始的第一个一定是{},因为一切毕对象。

示例:

{
    "姓别": "孟姜女",
    "年龄": 28,
    "技能": "哭",
    "攻击对象": "长城",
    "倒没": true,
    "男人": [{
        "姓名": "范喜良",
        "关系": "老公",
        "职业": "修长成",
        "生命值": 0
    },{
        "姓名": "秦始皇",
        "关系": "仇敌",
        "职业": "皇帝"
    }]
}

二、JSON的编辑

JSON文件的后缀名是“.json”,常用的编辑工具:

1.Visual Studio Code(VS Code)

由微软开发的一款开源代码编辑器,提供多视图功能,包括树形结构和代码视图,方便用户查看和编辑JSON数据。

2.Sublime Text

轻量级文本编辑器,以简洁、高效、强大的特性而闻名。可通过Package Control安装JSON相关插件,扩展编辑功能。

3.JSON Editor X

看名字就知道,这是一款专门的JSON编辑器。采用Web技术开发,用户可以直接在浏览器中使用,无需安装任何插件或应用。

4.在线JSON编辑器

无需安装,在浏览器中打开即可使用。比如:

JSONLint(JSON Online Validator and Formatter - JSON Lint

JSONCompare(https://jsoncompare.com/

JSON格式化和验证器(JSON Formatter & Validator

三、JSON与JavaScript的关系

JavaScript这门编程语言很有意思,据说当年开发者起这个名就是为了蹭java的流量,一不小心就蹭出万道金光,成为炙手可热的编程语言,甚至被很多人认为是最具学习性价比的编程语言。

不过,它和java一点关系都没有。

JSON与JavaScript也是两个完全独立的东西,但二者比JavaScript与java的关系还是要更近一层,因为JSON是由JavaScript对象字面量表示法演变而来的。

JSON这个简写冥冥之中暗示出了与JavaScript的真实关系:J的SON(儿子)。

四、JSON与XML的区别

JSON与XML(eXtensible Markup Language)都是用于数据交换的格式,区别如下:

1.可读性

JSON格式简洁,结构清晰,易于读写;XML相对冗长,标签多得能绕地球三圈,可读性稍逊于JSON。

2.解析速度

由于JSON结构更简单,通常比XML更快地被解析。

3用途

JSON常用于Web开发中的API和轻量级的数据交换。特别是在前后端数据交互方面,后端可以将数据封装成JSON格式发送给前端,前端通过解析JSON数据来展示给用户或进行进一步的处理。这种数据交换方式简化了前后端的通信,提高了开发效率

XML常用于配置文件、文档存储和企业级的复杂数据交换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金创想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值