python 对象和json互相转换方法

 更新时间:2018年03月22日 10:08:22   作者:tterminator  
下面小编就为大家分享一篇python 对象和json互相转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、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

以上这篇python 对象和json互相转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 六个窍门助你提高Python运行效率

    六个窍门助你提高Python运行效率

    这篇文章主要介绍了六个窍门助你提高Python运行效率,本文讲解了关键代码使用外部功能包、在排序时使用键、针对循环的优化、使用较新的Python版本等优化窍门,需要的朋友可以参考下
    2015-06-06
  • python数据预处理之数据标准化的几种处理方式

    python数据预处理之数据标准化的几种处理方式

    这篇文章主要介绍了python数据预处理之数据标准化的几种处理方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 详解centos7+django+python3+mysql+阿里云部署项目全流程

    详解centos7+django+python3+mysql+阿里云部署项目全流程

    这篇文章主要介绍了详解centos7+django+python3+mysql+阿里云部署项目全流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python实现实时监控文件的方法

    python实现实时监控文件的方法

    这篇文章主要为大家详细介绍了python实现实时监控文件的3种方法,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • python爬虫selenium模块详解

    python爬虫selenium模块详解

    这篇文章主要介绍了python爬虫selenium模块详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • pytorch+lstm实现的pos示例

    pytorch+lstm实现的pos示例

    今天小编就为大家分享一篇pytorch+lstm实现的pos示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Pandas DataFrame操作数据增删查改

    Pandas DataFrame操作数据增删查改

    我们在用 pandas 处理数据的时候,经常会遇到用其中一列数据替换另一列数据的场景。这一类的需求估计很多人都遇到,当然还有其它更复杂的。解决这类需求的办法有很多,这里我们来推荐几个,这篇文章主要介绍了Pandas DataFrame操作数据的增删查改
    2022-10-10
  • 2021年pycharm的最新安装教程及基本使用图文详解

    2021年pycharm的最新安装教程及基本使用图文详解

    这篇文章主要介绍了2021年pycharm的最新安装教程及基本使用,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 教你利用pygame模块制作跳跃小球小游戏

    教你利用pygame模块制作跳跃小球小游戏

    pygame是一个专门设计来进行游戏开发设计的Python模块,因为摆脱了被低级语言(如机器语言和汇编语言)的束缚,使用起来非常的简单,这篇文章主要给大家介绍了关于如何利用pygame模块制作跳跃小球小游戏的相关资料,需要的朋友可以参考下
    2021-08-08
  • numpy.random模块用法总结

    numpy.random模块用法总结

    这篇文章主要介绍了numpy.random模块用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论