当前位置: 移动技术网 > IT编程>脚本编程>Python > Python3内置模块之json编解码方法小结【推荐】

Python3内置模块之json编解码方法小结【推荐】

2019年06月03日  | 移动技术网IT编程  | 我要评论

钢卷尺检定台,德阳市区地图,寂寞闻猿愁

python3中我们利用内置模块 json 解码和编码 json对象 ,json(javascript object notation)是指定 rfc 7159(废弃了rfc 4627)和 ecma-404是一种轻量级数据交换格式,受 javascript对象文字语法的启发 (虽然它不是javascript 1的严格子集)。下面为python对象-->json对象的对照关系表。

dumps编码

我们利用 dumps 将python对象编码为 json对象 ,当然 dumps 只完成了序列化为str,而 dump 必须传文件描述符,将序列化的str保存到文件中,它们的函数定义为 dumps(obj, *, skipkeys=false, ensure_ascii=true, check_circular=true, allow_nan=true, cls=none, indent=none, separators=none, default=none, sort_keys=false, **kw) dump(obj, fp, *, skipkeys=false, ensure_ascii=true, check_circular=true, allow_nan=true, cls=none, indent=none, separators=none, default=none, sort_keys=false, **kw)

编码字典

import json 
d = {'one': 1, 'two': 2, 'three': 3}
j = json.dumps(d)
print(j)

示例结果:

{"one": 1, "two": 2, "three": 3}

编码列表

import json 
l = [1, 'python ', {'one': 1, 'two': 2, 'three': 3}, '']
j = json.dumps(l)
print(j)

示例结果:

[1, "python ", {"one": 1, "two": 2, "three": 3}, ""]

编码

import json 
s = 'python'
j = json.dumps(s)
print(j)

示例结果:

"python"

格式化输出json

import json 
l = [1, 'python ', {'one': 1, 'two': 2, 'three': 3}, true]
j = json.dumps(l, sort_keys=true, indent=4)
print(j)

示例结果:

[
  1,
  "python ",
  {
    "one": 1,
    "three": 3,
    "two": 2
  },
  true
]

loads解码

我们利用 loads 用于解码 json对象 。解码结果即与之对应的 python对象 类型。当然 loads 只完成了反序列化, load 只接收文件描述符,完成读取文件和反序列化。它们的函数定义为 loads(s, *, encoding=none, cls=none, object_hook=none, parse_float=none, parse_int=none, parse_constant=none, object_pairs_hook=none, **kw) load(fp, *, cls=none, object_hook=none, parse_float=none, parse_int=none, parse_constant=none, object_pairs_hook=none, **kw) 比如我们用来解码上个示例的数据

import json 
jsondata = '''
[
  1,
  "python ",
  {
    "one": 1,
    "three": 3,
    "two": 2
  },
  true
]
'''
j = json.loads(jsondata)
print(type(j))
print(j)

示例结果:

<class 'list'>
[1, 'python ', {'one': 1, 'three': 3, 'two': 2}, true]

可以看到我们成功对上个例子中的json对象进行了解码,并且最终的解码结果为python列表对象类型,符合python对象-json对象对照表的结果。

总结

以上所述是小编给大家介绍的python3内置模块之json编解码方法小结,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网