5Python标准库系列之json模块

简介:

Python标准库系列之json模块


JSON (JavaScript Object Notation) http://json.org is a subset of JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data interchange format.


JSON通常用于在Web客户端和服务器数据交换,即把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型

常用方法

方法 说明
json.loads(obj) 将字符串序列化成Python的基本数据类型,注意单引号与双引号
json.dumps(obj) 将Python的基本数据类型序列化成字符串
json.load(obj) 读取文件中的字符串,序列化成Python的基本数据类型
json.dump(obj) 将Python的基本数据类型序列化成字符串并写入到文件中

实例

  • 将字符串序列化成字典

创建一个字符串变量dict_str

1
2
3
4
>>> dict_str  =  '{"k1":"v1","k2":"v2"}'
# 数据类型为str
>>>  type (dict_str)
< class  'str' >

将字符串变量dict_str序列化成字典格式

1
2
>>>  import  json
>>> dict_json  =  json.loads(dict_str)

查看数据类型并输出内容

1
2
3
4
5
>>>  type (dict_json)
# 数据类型被序列化成字典格式了
< class  'dict' >
>>> dict_json
{ 'k1' 'v1' 'k2' 'v2' }
  • 将一个列表类型的变量序列化成字符串类型

创建一个列表json_li

1
2
3
4
>>> json_li  =  [ 11 , 22 , 33 , 44 ]  
# 数据类型为list
>>>  type (json_li)
< class  'list' >
  • 将字符串类型转换为Python的基本数据类型

1
2
>>>  import  json
>>> json_str  =  json.dumps(json_li)

查看数据类型

1
2
3
4
5
# 为str
>>>  type (json_str)
< class  'str' >
>>> json_str
'[11, 22, 33, 44]'
  • 把字典当作字符串存入db文件当中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建一个字典的数据类型
>>> dic  =  { "k1" : 123 , "k2" : 456 }
# 输出类型及内容
>>>  print ( type (dic),dic)
(< type  'dict' >, { 'k2' 456 'k1' 123 })
# 导入json模块
>>>  import  json
# 将dic转换为字符串并且写入到当前目录下面的db文件内,如果没有该文件则创建
>>> json.dump(dic, open ( "db" , "w" ))
# 导入os模块查看
>>>  import  os
# 查看当前目录下面的文件
>>> os.system( "ls -l" )
total  8
- rw - r - - r - -  1  root root  22  May  20  23 : 54  db
0
# 查看文件db的内容那个,最后面那个0是代表命令执行成功
>>> os.system( "cat db" )
{ "k2" 456 "k1" 123 } 0
  • 读取文件内容,把读取出来的字符串转换成Python的基本数据类型

1
2
3
4
5
# 读取当前目录下面的db文件,把内容转换为Python的基本数据类型并赋值给result
>>> result  =  json.load( open ( "db" , "r" ))
# 查看对象result的数据类型及内容
>>>  print ( type (result),result)
(< type  'dict' >, {u 'k2' 456 , u 'k1' 123 })









本文转自 Edenwy  51CTO博客,原文链接:http://blog.51cto.com/edeny/1925721,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
JSON Java Linux
【探索Linux】P.30(序列化和反序列化 | JSON序列化库 [ C++ ] )
【探索Linux】P.30(序列化和反序列化 | JSON序列化库 [ C++ ] )
15 2
|
7天前
|
Python
在Python中绘制K线图,可以使用matplotlib和mplfinance库
使用Python的matplotlib和mplfinance库可绘制金融K线图。mplfinance提供便利的绘图功能,示例代码显示如何加载CSV数据(含开盘、最高、最低、收盘价及成交量),并用`mpf.plot()`绘制K线图,设置类型为&#39;candle&#39;,显示移动平均线(mav)和成交量信息。可通过调整参数自定义图表样式,详情参考mplfinance文档。
24 2
|
8天前
|
机器学习/深度学习 边缘计算 TensorFlow
【Python机器学习专栏】Python机器学习工具与库的未来展望
【4月更文挑战第30天】本文探讨了Python在机器学习中的关键角色,重点介绍了Scikit-learn、TensorFlow和PyTorch等流行库。随着技术进步,未来Python机器学习工具将聚焦自动化、智能化、可解释性和可信赖性,并促进跨领域创新,结合云端与边缘计算,为各领域应用带来更高效、可靠的解决方案。
|
8天前
|
Serverless Python
使用Python的pandas和matplotlib库绘制移动平均线(MA)示例
使用Python的pandas和matplotlib库绘制移动平均线(MA)示例:加载CSV数据,计算5日、10日和20日MA,然后在K线图上绘制。通过`rolling()`计算平均值,`plot()`函数展示图表,`legend()`添加图例。可利用matplotlib参数自定义样式。查阅matplotlib文档以获取更多定制选项。
21 1
|
8天前
|
数据采集 SQL 数据挖掘
Python数据分析中的Pandas库应用指南
在数据科学和分析领域,Python语言已经成为了一种非常流行的工具。本文将介绍Python中的Pandas库,该库提供了强大的数据结构和数据分析工具,使得数据处理变得更加简单高效。通过详细的示例和应用指南,读者将了解到如何使用Pandas库进行数据加载、清洗、转换和分析,从而提升数据处理的效率和准确性。
|
8天前
|
SQL 关系型数据库 MySQL
使用Python的pymysql库连接MySQL,执行CRUD操作
使用Python的pymysql库连接MySQL,执行CRUD操作:安装pymysql,然后连接(host=&#39;localhost&#39;,user=&#39;root&#39;,password=&#39;yourpassword&#39;,database=&#39;yourdatabase&#39;),创建游标。查询数据示例:`SELECT * FROM yourtable`;插入数据:`INSERT INTO yourtable...`;更新数据:`UPDATE yourtable SET...`;删除数据:`DELETE FROM yourtable WHERE...`。
21 0
|
8天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{&quot;name&quot;: &quot;John&quot;, &quot;age&quot;: 30, &quot;city&quot;: &quot;New York&quot;}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
16 1
|
8天前
|
JSON 数据格式 Python
Python处理JSON数据
【4月更文挑战第30天】该内容介绍了Python处理JSON数据的三个方法:1)使用`json.loads()`尝试解析字符串以验证其是否为有效JSON,通过捕获`JSONDecodeError`异常判断有效性;2)通过`json.dumps()`的`indent`参数格式化输出JSON数据,使其更易读;3)处理JSON中的日期,利用`dateutil`库将日期转换为字符串进行序列化和反序列化。
22 4
|
9天前
|
机器学习/深度学习 算法 数据挖掘
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
|
9天前
|
存储 Python Windows
轻松学会openpyxl库,Python处理Excel有如神助
轻松学会openpyxl库,Python处理Excel有如神助