使用Python模块:json模块

Python的数据类型和JSON的字符串格式十分相似,这大大简化了操作的难度


Json介绍

历史背景和基本概念

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式

JSON基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)

JSON利于人类阅读和编写,也利于机器解析和生成

JSON采用完全独立于语言的文本格式,但是也使用了类C语言家族(C、C++、C#、Java、JavaScript、Perl、Python等);这些特性使得JSON称为理想的数据交换语言

值得一提的是,JSON本质上是字符串(用文本表示对象的信息)

JSON的语法格式

在JS语言中,一切都是对象,因此任何支持的类型都可以通过JSON表示(如字符串、数字、对象、数组等);但是对象和数组是比较特殊且常用的两种数据类型

1)对象表示为键值对

2)数据之间由括号分割

3)花括号保存对象

4)方括号保存数组

5)值可以是字符串、数字、布尔值、空类型、对象、或者数组,且这些结构还可以相互嵌套

使用Python模块:json模块_第1张图片

例如:

{"firstName" : "JSON"}

重申JSON本质上是字符串:

var obj = {a: 'A', b: 'B', c: 'C'};  // This is a JS object.
var json = '{"a":"A", "b":"B", "c":"C"};   // This a JSON string.

据我所知,不少配置文件都是用JSON写的


json模块

Python的json模块比较简单,有两组方法:dumps()loads(),以及dump()load()

前者对字符串解析,后者对文件解析

腌制数据

使用json.dump(字典结构)把Python的字典结构转存为JSON格式

使用Python模块:json模块_第2张图片

使用json(字典结构, 文件指针)把JSON字符串转存到指定文件

使用Python模块:json模块_第3张图片

如果你愿意,也可以这样写fp.write(..)

使用Python模块:json模块_第4张图片

打开file.txt看看都写了什么

使用Python模块:json模块_第5张图片

加载数据

腌制好的JSON格式,我们通过加载函数将其取出

使用json.loads(JSON格式字符串)加载存储在字符串中的JSON数据

使用Python模块:json模块_第6张图片

文件操作json.load(文件指针),返回Python类型的字符串数据

使用Python模块:json模块_第7张图片


以上文件的读写操作,还可以进一步简化

这里写图片描述

这里写图片描述

你可能感兴趣的:(Python,语言)