Json概述以及python对json的相关操作归类.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它的设计目标是易于人阅读和编写,同时也便于机器解析和生成。JSON基于ECMA-262第三版(JavaScript编程语言的标准)的一个子集,但它是独立于语言的,可以被多种编程语言所支持,如C、C++、C#、Java、JavaScript、Perl、Python等。JSON的数据结构主要由两个基本部分构成:名称/值对的集合和有序值列表。在不同的语言中,这些结构对应于对象、记录、结构、字典、哈希表、有键列表或关联数组。 Python中处理JSON的主要工具是内置的`json`模块。这个模块提供了两个主要的函数来实现JSON与Python数据类型之间的转换:`json.dumps()`用于编码(encoding)Python对象到JSON字符串,而`json.loads()`则用于解码(decoding)JSON字符串回Python对象。 编码(Encoding)过程: 当使用`json.dumps()`将Python数据结构转换为JSON字符串时,一些数据类型会被自动转换。例如,元组会被转化为列表,因为JSON规范中没有元组的概念。此外,Python的字符串会被转化为JSON的字符串,但可能会变为Unicode类型。例如,原始字符串"abc"在编码后会变成Unicode字符串u'abc'。 解码(Decoding)过程: 使用`json.loads()`函数可以将JSON字符串还原为Python对象。在这个过程中,JSON的字符串会转换为Python的字符串(Unicode),JSON的数组(列表)转换为Python的列表,JSON的对象(字典)转换为Python的字典。值得注意的是,JSON中的数字默认会被转化为Python的整数或浮点数,而不是复数或长整数。 `json.dumps()`方法的可选参数: 1. `sort_keys`:如果设置为True,`dumps()`会在编码字典时对其进行排序,这样输出的JSON数据会有固定的顺序,便于比较和观察。 2. `separators`:用于指定JSON对象中逗号和冒号的分隔符,可以用来压缩输出的JSON字符串,减少冗余字符。 3. `indent`:设置缩进的空格数,用于美化输出的JSON字符串,使其更易读。 示例中,我们看到`sort_keys=True`参数在编码字典时起到了排序的作用,使得数据更加规整。`d1 == d2`的比较表明,即使原始字典的键顺序不同,但经过排序编码后的JSON字符串是相等的。 JSON作为数据交换格式,因其简洁性和广泛的语言支持,在网络应用中被广泛应用。Python的`json`模块提供了便利的接口,使得与JSON的交互变得简单高效。无论是从Python数据结构编码为JSON,还是将JSON字符串解码回Python对象,都有清晰明确的规则和方法。
- 粉丝: 3
- 资源: 11万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助