Python编程——json模块的使用详解(附实例)和json模块与pickle模块的区别

本文详细介绍了Python内置的json模块,包括其特点、使用方法、实例演示以及json与pickle模块的区别。json模块用于数据交换,能序列化基本数据类型,而pickle则能序列化所有类型。文中通过序列化和反序列化操作展示了两者在处理不同类型数据时的行为差异。
摘要由CSDN通过智能技术生成

1. JSON模块的介绍

(1)json模块:

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人们阅读和编写。json模块是python语言的一个系统内置模块,安装python后已包含json库,不需要单独再安装。只需 import json 即可。

(2)json模块的特点:

      1、json可以在不同语言之间交换数据的,而pickle只在python中使用;

      2、json只能序列化最基本(常用)的数据类型(列表、字典、元组、字符串、数字),如日期格式、类对象,josn就不能序列化。而pickle可以序列化所有的数据类型,包括类,函数等都可以序列化;

      3、json模块提供了四个方法:dumps、dump、loads、load,pickle模块也提供了四个方法:dumps、dump、loads、load;

      json dumps()——把数据类型转换成字符串;

      json dump()——把数据类型转换成字符串并存储在文件中;

      json loads()——把字符串转换成数据类型;

      json load()——把文件打开从字符串转换成数据类型;

2. JSON模块的使用

(1)序列化操作:

      序列化方法1:json.dumps()

格式为:json.dumps(obj)

该方法是序列化对象obj,将python中其他的数据类型(obj)转化为字符串类型;

示例如下:可以看出,序列化后的类型为字符串类型。

#json_序列化
import json
dic={"id":"123456","name":"Alice","hobby":"music" }
date=json.dumps(dic)
print(date)
print(type(date))    #序列化后的类型为字符串
#将序列化后的内容写入文件
with open("info.txt","w") as f:
    f.write(date)


结果如下:
{"id": "123456", "name": "Alice", "hobby": "music"}
<class 'str'>

date看起来好像是个字典,但要注意了,这实际上这是个字符串,因为json只能是字符串格式,只是看起来像字典而已。


 序列化方法2:json.dump()

格式为:json.dump(obj,file)

json.dumps()方法跟json.dump()方法不同:json.dumps()方法不需要写入文件中,而json.dump()方法需要写入到文件中

示例如下:与上面的例子一样,只是方法不同,保存在info.txt文件中

#json_序列化
import json
dic={"id":"123456","name":"Alice","hobby":
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值