python 对象和json互相转换方法

yipeiwu_com5年前Python基础

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

/post/102146.htm

以上这篇python 对象和json互相转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

举例讲解Python中的算数运算符的用法

举例讲解Python中的算数运算符的用法

下表列出了所有Python语言支持的算术运算符。假设变量a持有10和变量b持有20,则:  例子: 试试下面的例子就明白了所有的Python编程语言提供了算术运算符: #!...

浅谈python下含中文字符串正则表达式的编码问题

浅谈python下含中文字符串正则表达式的编码问题

前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文。 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*-...

python之Socket网络编程详解

python之Socket网络编程详解

什么是网络? 网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类型的实际问题中抽象...

python3 常见解密加密算法实例分析【base64、MD5等】

本文实例讲述了python3 常见解密加密算法。分享给大家供大家参考,具体如下: 一.使用base64 Base64编码,64指A-Z、a-z、0-9、+和/这64个字符,还有“=”号不...

python获取一组数据里最大值max函数用法实例

本文实例讲述了python获取一组数据里最大值max函数用法。分享给大家供大家参考。具体如下: # 最简单的 max(1, 2) max('a', 'b') # 也可以对列表和元组使...