python中json对象与内置dict转换

json就是两个常用的方法,一个是data=json.load(fs) data是字典,fs是json文件对象,就是将josn文件的数据,转化为python内置对象的字典

1. dic= json.load(fs)

import json
with open("test.json","rt",encoding="utf-8") as fs:
    data=json.load(fs)
    
print(data)
print(type(data))

2 json.dump(list(“hello”),fs)

json.dump(data,fs) data是python的字典,fs是josn文件对象,这个方法可以将字典写入到josn文件进行保存
#data中的字符串默认均为unicode,JSON规定的编码为UTF-8
#处理可以将字典写入json外,可以将tuple,list等写入

with open("test.json","w",encoding="utf-8") as fs:
    json.dump(list("hello"),fs)

3.转化的编码问题

实际上 python的编码为unicode吗,汉字保存的数据,实则是unicode码,因此,在将python的字典转为json时,显示的就是unicode吗,如果想让json显示汉字,可以加上
一个参数ensure_ascii=False,就是不把保存为unicode编码

data = [{ 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ]

jsonStr = json.dumps(data)
print(jsonStr)

jsonStr2= json.dumps(data,ensure_ascii=False)
print("不转为unicode",jsonStr2)

jsonObj = json.loads(jsonStr2)
#有汉字的字符串,python自动会识别,无需手动转
print(jsonObj)
# 获取集合第一个
print(jsonObj[1])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值