如何将 JSON 解码成 python 对象?
JSON解码为python的对照表
要完成这个功能,也先要看下json解码为python对象的对照表
JSONPython
Objectdict
Arraylist
Stringstr
number(int)int
number(real)float
TrueTrue
FalseFalse
NullNone
编码对照表和解码对照表并不是一一对应的,因此如果一个python对象先编码成JSON,再转码回来后得到的对象可就不一定完全相等了。
json.loads()
这个方法的作用就是将参数s按照上面的对照表反序列化为一个python对象。参数s可以是str,byte或者byteArray格式,但必须要包含JSON文本才可以)。具体函数声明如下:
json.loads(s,*,encoding=None,cls=None,object_hook=None,parse_float=None,parse_int=None,parse_constant=None,object_pairs_hook=None,**kw)
下面就来一一了解下一些常用参数的意义
s就是要解码的python字符串
encoding指定编码格式
parse_float,默认情况下相当于float(num_str)。如果设置为其他值,将会把一个JSON字符串按照float解码调用,
parse_int,默认情况下相当于int(num_str),如果指定,将把每个JSON字符串按照int解码调用
来看下面的例子,其中最后一行就指定了parse_float。
>>>importjson
>>>json.loads('["foo",{"bar":["baz",null,1.0,2]}]')
['foo',{'bar':['baz',None,1.0,2]}]
>>>json.loads('"\\"foo\\bar"')
'"foo\x08ar'
>>>importdecimal
>>>json.loads('1.1',parse_float=decimal.Decimal)
Decimal('1.1')
json.load()
先来看函数声明
json.load(fp,*,cls=None,object_hook=None,parse_float=None,parse_int=None,parse_constant=None,object_pairs_hook=None,**kw)
作用是将fp文件流反序列化为python对象,其中的参数意义和loads方法相同。来看一个例子。
>>>importjson
>>>fromioimportStringIO
>>>io=StringIO('["streamingAPI"]')
>>>json.load(io)
['streamingAPI']
以上内容为大家介绍了如何将JSON解码成python对象?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python如何显示中文字体
python显示中文字体的方法:在这里,你可以选择2种不同的解决方法方法一:定义声明好编码格式首先你要做的,是在打开写入文件时,声明encoding...详情>>
2023-11-12 23:32:23python3.6怎么打包
安装pyinstaller,python安装目录下shift+右键打开cmd或者Powershell窗口输入pipinstallpyinstallerpython安装目录下\Scripts文件夹下会出详情>>
2023-11-12 22:52:29python空格怎样设置
Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。在Python...详情>>
2023-11-12 22:14:14Python中区分字符与字符串吗?
python中不区分字符与字符串,与C语言相比,Python没有字符类型,只有字符串类型。推荐学习《Python教程》。Python中的字符串是用双引号或单引...详情>>
2023-11-12 21:26:38