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的方法步骤相关推荐

  1. python怎么打断点_Pycharm如何打断点的方法步骤

    一. python代码的调试方式 1. 使用print语句打印出来 2. 在编辑工具中,加断点跟踪(打断点) 3. 使用日志模块,输出到日志中 下面我们来看一下如何打断点 二. 环境 python 3 ...

  2. python将一个json字典转换为一个python对象

    python将一个json字典转换为一个python对象 示例代码: from collections import OrderedDict import jsondata = '{"nam ...

  3. python 对象转换为json_Python Python对象转换成JSON

    1.从Python对象转换成JSON 如果有Python对象,则可以使用json.dumps()方法将其转换为JSON字符串. 例如: 从Python对象转换为JSON:import json # a ...

  4. Python小工具:将对象转换为不可变类型并计算其哈希值

    在设计单元测试时,我们往往需要将运行结果与预期结果相比较.但是,如果运行结果是一个比较复杂的数据结构的话,那么我们可能需要将预期结果硬编码到代码中,或存储到文件中,都需要占用一定的空间.为了减少单元测 ...

  5. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  6. 传入json对象_【Python基础】可迭代对象amp;迭代器对象及其实现

    可迭代对象 首选确保for循环的in后面是一个可迭代对象,这样就能通过python内置函数iter()得到一个迭代器对象(iterator) 我们分别把列表list_test和字符串str_test分 ...

  7. python pandas dataframe 转json_python-将嵌套的json转换为pandas dataframe

    时间: 2019-10-27 07:33:05 标签: pandas python 我正在尝试将嵌套的json数组转换为 pandas dataframe . 列表格式的数据如下所示: [{u'ana ...

  8. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

    前文中我们把网络爬虫爬取的数据保存为JSON格式,但为了能够更方便地处理数据.我们希望把这些数据导入到MySQL数据库中.phpMyadmin能够把MySQL数据库中的数据导出为JSON格式文件,但却 ...

  9. python json dict对象使用_Python中:dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操做.python 在Python中自带json库.经过import json导入.json 在json模块有2个方法, ...

最新文章

  1. 吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?
  2. ESX 3.5 与License Server不定时失去连接解决方法一例
  3. 点石关键词排名优化软件_重庆关键词优化排名
  4. 表必须要有主键吗_玄关隔断什么材质好?玄关隔断必须要做吗?
  5. python换循环颜色_python – 增加matplotlib颜色循环
  6. mysql配置master_mysql 主从配置(master/slave)
  7. 【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
  8. 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包
  9. python 根据字符串语句进行操作再造函数(evec和eval方法)
  10. java软件开发必读15本书籍
  11. 数字化转型 — 新能源汽车 — 生产制造流程 — 总装车间
  12. 从控制台输入用户名和密码, 然后 判断输入的用户名是否是@“Frank”, 密码 是否是 @“lanou”, 如果用户名和密码都正确,则输出登录成功, 否则输出登录失败. 提示:
  13. st-link下载连线
  14. Lua学习笔记--table
  15. Logistic Regression逻辑回归函数Python实现
  16. 【MySQL附录】A6:MySQL OCP 认证考试最详细最准确报考流程(2020年)
  17. oracle sql 执行计划分析_Oracle SQL调优系列之看懂执行计划explain
  18. Ubuntu18.04 双屏显示 双显卡设置
  19. 计算机网络(一):计算机网络概念、功能、组成
  20. 曹操捷龙鸿宇CAD铝单板钣金展开插件

热门文章

  1. 校园转转二手市场源码下载
  2. 省级面板数据(2000-2019)二:地区生产总值+居民消费水平(stata版)
  3. 电脑自动安装垃圾软件怎么办?拒绝重装系统,教你一招搞定!
  4. source insight python Python.CLF 语言包,设置source insight使之可以查看并编辑python文件
  5. Redis主从哨兵集群
  6. Java对象校验框架之Oval
  7. windows优化大师怎么用_macOS Windows 通吃,一套键鼠就能控制多台电脑
  8. 计算机操作员试题集2010版第七章,计算机系统操作师(中级)试题集(Office 2010版)...
  9. html相册自动翻页轮播,jquery+html仿翻页相册功能
  10. 计算机上表格制作定律是什么意思,手表定律是什么意思,有什么启示