Python之JSON序列

本文深入讲解了JSON在不同平台间进行数据交换的应用,演示了如何使用Python的json模块将字典转换为字符串,以便于跨平台传输,并展示了如何将字符串重新解析为字典的过程。文章通过实例代码解释了JSON在数据传输中的作用,以及其在内存和文件操作中的使用方法。

 

 

Json

不同平台(一般是不同的语言)之间进行数据交换

vim day6-1.py

#!/usr/bin/python
# -*- coding:utf-8 -*-
import json

name = {
    'alex':[22,'M'],
    'rain':[21,'F']
}

name_after_transfer = json.dumps(name)
print name
print name_after_transfer

好像没什么区别单引号变成双引号了,json其实是把字典转换成为了字符串

在看以下列子

vim day6-2.py

#!/usr/bin/python
# -*- coding:utf-8 -*-


name = {
    'alex':[22,'M'],
    'rain':[21,'F']
}

f = file("data_to_qq.txt","wb")
f.write(name)
f.close()

运行报错,传递必须是字符串或者二进制字符不能是字典

修改代码

#!/usr/bin/python
# -*- coding:utf-8 -*-
import json

name = {
    'alex':[22,'M'],
    'rain':[21,'F']
}

name_after_transfer = json.dumps(name) #使用JSON方法把字典转化成字符串了
f = file("data_to_qq.txt","wb")
f.write(name_after_transfer)
f.close()
#print name
#print name_after_transfer

运行就会生成文件data_to_qq.txt了

 

模拟调用这个数据文件

vim qq_app.py

import json
f = file("data_to_qq.txt",'rb')
name = json.loads(f.read())
f.close()
print name['alex']

需要使用json的loads方式在把字符串文件导成字典才能取到值

PS:该功能可以用在不同的程序之间的内存之间传递数据

  JSON只能转换常用的数据格式比如字典,字符串,数组,元祖等 不同语言之间的函数定义是不同的,所以不能转换(比如日期格式)

 

json的dump方法有两种 

1,dumps

dump是读入到内存 dump可以直接写入文件

2,dump

 

load演示

 

转载于:https://www.cnblogs.com/minseo/p/6857461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值