python 对象转换为json,Python对象转换为json的方法步骤
python中内置了json库,用起来超级方便,json现在以成为开发的必备。
python对象到json字符串的转换规则:
python
json
dict
object
list, tuple
array
str, unicode
string
int, long, float
number
true
true
false
false
none
null
json字符串到python对象的转换规则:
json
python
object
dict
array
list
string
unicode
number (int)
int, long
number (real)
float
true true
false
false
null
none
json的api有下面4个:
json.loads() 将json转换为dict
json.dumps() 将dict转换为json
json.load() 将json文件转换为dict
json.dump() 将dict转换为json文件 person.json
注意:dict也可以是类对象
dict转换为json
import json
person = {
'name': 'jack',
'age': 15,
'email': 'jack@litets.com'
}
print('dict:', person)
person_json = json.dumps(person) # 转换为json
print('json:', person_json)
输出:
dict: {'name': 'jack', 'age': 15, 'email': }
json: {"name": "jack", "age": 15, "email": ""}
json转换为dict
import json
person_dict = json.loads('{"name": "jack", "age": 15, "email": "jack@litets.com"}')
print('person dict:', person_dict)
输出:
person dict: {'name': 'jack', 'age': 15, 'email': }
类对象转换为json
import json
class person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
person = person('tom', 38, 'tom@litets.com')
person_json = json.dumps(person.__dict__)
print('person json:', person_json)
输出:
person json: {"name": "tom", "age": 38, "email": ""}
json.dumps() 不能直接传递一个对象实例否则回报 typeerror: object of type person is not json serializable 错误 为了避免这个错误,我们需要修改:
import json
class person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
# 将person转换为dict
def convert2json(person):
return {
'name': person.name,
'age': person.age,
'email': person.email
}
person = person('tom', 38, 'tom@litets.com')
# 第二个参数传递转换函数,或者使用default=lambda o: o.__dict__
person_json = json.dumps(person, default=convert2json)
print('person json:', person_json)
json转换为类对象
import json
class person:
def __init__(self, name, age, email):
self.name = name
self.age = age
self.email = email
def convert2json(dict_json):
return person(dict_json['name'], dict_json['age'], dict_json['email'])
person = json.loads('{"name": "tom", "age": 38, "email": "tom@litets.com"}', object_hook=convert2json)
print('person:', person)
输出:
person: <__main__.person object at>
loads函数只能将json转换为字典,需要我们自己转换为对象。
dict/对象转换为json文件
import
person = {"name": "tom", "age": 38, "email": "tom@litets.com"}
with open('person.json', 'w') as f:
json.dump(person, f)
当前目录下会多一个person.json文件,内容是:
{"name": "tom", "age": 38, "email": "tom@litets.com"}
将json文件转换为dict/对象
import json
with open('person.json', 'r') as f:
print(json.load(f))
输出:
{'name': 'tom', 'age': 38, 'email': }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
python 对象转换为json,Python对象转换为json的方法步骤相关推荐
- python怎么打断点_Pycharm如何打断点的方法步骤
一. python代码的调试方式 1. 使用print语句打印出来 2. 在编辑工具中,加断点跟踪(打断点) 3. 使用日志模块,输出到日志中 下面我们来看一下如何打断点 二. 环境 python 3 ...
- python将一个json字典转换为一个python对象
python将一个json字典转换为一个python对象 示例代码: from collections import OrderedDict import jsondata = '{"nam ...
- python 对象转换为json_Python Python对象转换成JSON
1.从Python对象转换成JSON 如果有Python对象,则可以使用json.dumps()方法将其转换为JSON字符串. 例如: 从Python对象转换为JSON:import json # a ...
- Python小工具:将对象转换为不可变类型并计算其哈希值
在设计单元测试时,我们往往需要将运行结果与预期结果相比较.但是,如果运行结果是一个比较复杂的数据结构的话,那么我们可能需要将预期结果硬编码到代码中,或存储到文件中,都需要占用一定的空间.为了减少单元测 ...
- java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...
使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...
- 传入json对象_【Python基础】可迭代对象amp;迭代器对象及其实现
可迭代对象 首选确保for循环的in后面是一个可迭代对象,这样就能通过python内置函数iter()得到一个迭代器对象(iterator) 我们分别把列表list_test和字符串str_test分 ...
- python pandas dataframe 转json_python-将嵌套的json转换为pandas dataframe
时间: 2019-10-27 07:33:05 标签: pandas python 我正在尝试将嵌套的json数组转换为 pandas dataframe . 列表格式的数据如下所示: [{u'ana ...
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...
- python json dict对象使用_Python中:dict(或对象)与json之间的互相转化
在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操做.python 在Python中自带json库.经过import json导入.json 在json模块有2个方法, ...
最新文章
- 吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?
- ESX 3.5 与License Server不定时失去连接解决方法一例
- 点石关键词排名优化软件_重庆关键词优化排名
- 表必须要有主键吗_玄关隔断什么材质好?玄关隔断必须要做吗?
- python换循环颜色_python – 增加matplotlib颜色循环
- mysql配置master_mysql 主从配置(master/slave)
- 【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
- 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包
- python 根据字符串语句进行操作再造函数(evec和eval方法)
- java软件开发必读15本书籍
- 数字化转型 — 新能源汽车 — 生产制造流程 — 总装车间
- 从控制台输入用户名和密码, 然后 判断输入的用户名是否是@“Frank”, 密码 是否是 @“lanou”, 如果用户名和密码都正确,则输出登录成功, 否则输出登录失败. 提示:
- st-link下载连线
- Lua学习笔记--table
- Logistic Regression逻辑回归函数Python实现
- 【MySQL附录】A6:MySQL OCP 认证考试最详细最准确报考流程(2020年)
- oracle sql 执行计划分析_Oracle SQL调优系列之看懂执行计划explain
- Ubuntu18.04 双屏显示 双显卡设置
- 计算机网络(一):计算机网络概念、功能、组成
- 曹操捷龙鸿宇CAD铝单板钣金展开插件
热门文章
- 校园转转二手市场源码下载
- 省级面板数据(2000-2019)二:地区生产总值+居民消费水平(stata版)
- 电脑自动安装垃圾软件怎么办?拒绝重装系统,教你一招搞定!
- source insight python Python.CLF 语言包,设置source insight使之可以查看并编辑python文件
- Redis主从哨兵集群
- Java对象校验框架之Oval
- windows优化大师怎么用_macOS Windows 通吃,一套键鼠就能控制多台电脑
- 计算机操作员试题集2010版第七章,计算机系统操作师(中级)试题集(Office 2010版)...
- html相册自动翻页轮播,jquery+html仿翻页相册功能
- 计算机上表格制作定律是什么意思,手表定律是什么意思,有什么启示