python 对象和json互相转换方法
作者:tterminator 发布时间:2022-06-27 18:40:14
一、python对json的支持
从python2.6开始,python标准库中添加了对json的支持,操作json时,只需要import json即可。
二、python对象转换成json字符串
在把python对象转换成json字符串时,只需要如下知识即可:
1.python对象到json字符串的转换规则:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
2. 主要使用如下函数:
该函数的具体参数(具体用法参见附录中链接):
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=”utf-8”, default=None, sort_keys=False, **kw)
示例
测试代码:
#构造字典
python2json = {}
#构造list
listData = [1,2,3]
python2json["listData"] = listData
python2json["strData"] = "test python obj 2 json"
#转换成json字符串
json_str = json.dumps(python2json)
print json_str
转换结果:
{
"listData": [
1,
2,
3
],
"strData": "test python obj 2 json"
}
三、json字符串转换成python对象
同理,把json字符串转换成python对象也只需具备如下知识即可:
1.json字符串到python对象的转换规则:
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
number (int) | int, long |
number (real) | float |
true True | |
false | False |
null | None |
2. 主要使用如下函数:
json.loads()
该函数的具体参数(具体用法参见附录中链接):
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
示例
测试代码:
str = '{"listData": [1, 2, 3], "strData": "test python obj 2 json"}'
json2python = json.loads(str)
print type(json2python)
转换结果:
<type 'dict'>
四、附录
https://docs.python.org/2/library/json.html
https://www.jb51.net/article/102146.htm
来源:http://blog.csdn.net/tterminator/article/details/63289400


猜你喜欢
- 尝试了几种方法,感觉过于复杂,于是自己写了一个方法。(1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现;(2)然
- 本文实例讲述了Sanic框架请求与响应。分享给大家供大家参考,具体如下:前面介绍了Sanic框架的路由,这里接着介绍Sanic框架的请求与响
- golang用来序列化的模块有很多,我们来介绍3个。json首先登场的是json,这个几乎毋庸置疑。序列化package mainimpor
- 前言:文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的。据说是贪吃蛇游戏是1976年,Gremlin公
- 目录1、正则表达式1.1 正则表达式字符串1.1.1 元字符1.1.2 字符转义1.1.3 开始与结束字符1.2 字符类1.2.1 定义字符
- 之前有个程序,里面有个时间部分是按照国内时区,也就是东八区,来写的,程序中定义了北京时间2点到八点进行检查;后面程序在国外机器上,例如说韩国
- 方法一: import win32com.clientxl = win32com.client.Dispatch("Ex
- mysql存储引擎:MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL
- Python中的数据可视化matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地
- 线程池的概念是什么?在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是 如此,虚
- 如下所示:device = torch.device("cuda:0" if torch.cuda.is_availab
- 背景随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基。一旦公司的数据错乱
- 本文实例讲述了原生JS实现的简单轮播图功能。分享给大家供大家参考,具体如下:经过几天的努力,终于攻克了这一难题,于是迫不及待的想要分享给大家
- 在使用JavaScriptSerializer.Serialize 方法转json对象时,遇到一个问题,后台方法生成的json字符串中有没有
- 最近很多小伙伴在尝鲜chatGPT,使用中遇到网站的1020的错误码,博主也遇到了相似的问题,不同的人运行环境不一样,可能解决方案不一样,接
- 任务1、记录用户登录日志import timedef show_info():? ? print('输入提示数字,执行相应操作:0退
- 服务器重新启动的情况当mysqld启动时,所有的授权表内容被读进存储器并且从那时开始生效。被服务器立即应用的情况用GRANT、REVOKE或
- 一、修改操作系统核心参数在Root用户下执行以下步骤:1)修改用户的SHELL的限制,修改/etc/security/limits.conf
- handle non numerical data举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~,这里不考虑稀疏向
- Pillow图像降噪处理由于成像设备、传输媒介等因素的影响,图像总会或多或少的存在一些不必要的干扰信息,我们将这些干扰信息统称为&l