JSON的作用和常用分类?

1.JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 语法规则

JSON是一个标记符的序列。这套标记符包含六个构造字符字符串数字和三个字面名

JSON是一个序列化的对象数组

1. 六个构造字符

begin-array = ws %x5B ws ; [ 左方括号

begin-object = ws %x7B ws ; { 左大括号

end-array = ws %x5D ws ; ] 右方括号

end-object = ws %x7D ws ; } 右大括号

name-separator = ws %x3A ws ; : 冒号

value-separator = ws %x2C ws ; , 逗号

2. 在这六个构造字符的前或后允许存在无意义的空白符(ws):

ws = *(%x20 /; 空间

%x09 /; 水平标签

%x0A /; 换行或换行

%x0D); 回程

3.JSON的值:

3.1 JSON的构成: ws  ws [1] 

3.2可以是对象数组数字字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写。

3.2.1对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的由逗号分割的键值对组成,如:

1

    {"name""John Doe""age": 18, "address": {"country" "china""zip-code""10000"}}

JSON中的对象可以包含多个键值对,并且有数组结构,该语言正是一次实现过程内容的描述。 [6] 

3.2.2数组是由方括号括起来的一组值构成,如:

1

[3, 1, 4, 1, 5, 9, 2, 6]

3.2.3 字符串与C或者Java的字符串非常相似。字符串是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

3.2.4数字也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。 [2] 

一些合法的JSON的实例:

1

{"a": 1, "b": [1, 2, 3]}

1

[1, 2, "3", {"a": 4}]

1

3.14

1

"plain_text"

JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

1

var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的

1

var json = '{"a": "Hello", "b": "World"}'//这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象互转

要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:

1

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}

要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:

1

var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'

### 回答1: Python中最常用的模块包括:sys,os,re,json,math,random,time,datetime,imaplib,urllib,smtplib,email,tkinter,subprocess,shutil,ctypes,webbrowser,csv,argparse,logging 等等。 ### 回答2: 常用的Python模块有很多,以下是一些常见的Python模块: 1. NumPy:用于进行科学计算和处理大型多维数组的基础库。 2. Pandas:提供了高性能、易用的数据结构和数据分析工具,用于数据清洗、数据分析和数据可视化。 3. Matplotlib:用于绘制各种类型的可视化图表,如折线图、柱状图、散点图等。 4. Scikit-learn:提供了各种机器学习算法和工具,用于数据挖掘和数据分析。 5. TensorFlow:用于构建和训练机器学习和深度学习模型的开源库。 6. Keras:基于TensorFlow等后端构建的高级神经网络库,简化了深度学习模型的构建和训练过程。 7. Flask:用于构建Web应用程序的轻量级Web框架。 8. Django:一个功能强大的Web框架,提供了完整的MVC架构和许多开箱即用的功能。 9. Requests:用于发送HTTP请求和处理响应的库。 10. BeautifulSoup:用于解析HTML和XML文档的库,常用于网络爬虫。 11. Scrapy:一个用于抓取网站数据的高级网络爬虫框架。 12. Selenium:用于自动化浏览器操作的库,常用于网页测试和数据采集。 以上是一些常用的Python模块,根据具体应用场景和需求,还可以选择其他适合的模块。 ### 回答3: 常用的Python模块有很多,下面是一些常见的模块及其简要说明: 1. NumPy:用于进行科学计算和数值运算的基础库,提供了数组对象和各种数据处理函数。 2. Pandas:提供了快速、灵活和方便的数据结构,用于数据处理和分析,常用于处理表格形式的数据。 3. Matplotlib:用于绘制各种类型的图表和图形的绘图库,可以创建折线图、散点图、柱状图等。 4. scikit-learn:机器学习的常用库,包含了多种机器学习算法和工具,用于分类、回归、聚类等任务。 5. TensorFlow:用于深度学习和人工智能的开源框架,提供了丰富的神经网络模型和训练工具。 6. BeautifulSoup:用于网页解析和数据提取的库,可以很方便地从HTML或XML文档中提取有用的信息。 7. requests:用于发送HTTP请求和接收响应的库,可以模拟浏览器的行为访问网页和获取数据。 8. Flask:用于构建Web应用程序的轻量级框架,支持路由、模板等功能。 9. Django:一个功能强大的Web框架,提供了完整的开发工具和强大的数据库支持。 10. re(正则表达式):用于处理字符串匹配和模式查找的模块,提供了强大的文本处理功能。 以上是一些常见的Python模块,根据实际需要,还可以使用其他各种领域的模块,例如科学计算、图像处理、自然语言处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值