import json基本使用

1 概述

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
json是最常用的数据交换格式,在python编码中需要将json字符串加载为python可以识别的python对象。
通常数据之间的传输、存储是json字符串的形式;而数据的操作、分析则是对python对象进行操作。
json字符串和python对象可以通过一下两个函数互相转换

函数 描述
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象

json 类型转换到 python 的类型对照表

JSON Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

2 详解

2.1 json.dumps

格式
编码后的json格式字符串紧凑输出,且无顺序,其dumps方法提供一些可选的参数,让输出的格式提高可读性。

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)

参数解释
参照:https://blog.csdn.net/liangxy2014/article/details/78985057

skipkeys:在encoding过程中,dict对象的key只可以是string对象,如果是其他类型,那么在编码过程中就会抛出ValueError的异常。skipkeys可以跳过那些非string对象当作key的处理.
ensure_ascii:输出真正的中文需要指定ensure_ascii=False
check_circular:如果check_circular为false,则跳过对容器类型的循环引用检查,循环引用将导致溢出错误
allow_nan:如果allow_nan为假,则ValueError将序列化超出范围的浮点值(nan、inf、-inf),严格遵守JSON规范,而不是使用JavaScript等价值(nan、Infinity、-Infinity)。
indent:根据数据格式缩进显示,读起来更加清晰, indent的值,代表缩进空格式:
separators:作用是去掉‘,’ ‘:’后面的空格,在传输数据的过程中,越精简越好,冗余的东西全部去掉。
encoding:编码方式
defaul:default(obj)是一个函数,它应该返回一个可序列化的obj版本或引发类型错误。默认值只会引发类型错误。
sort_keys:告诉编码器按照字典key排序(a到z)输出

使用方法

#将dict编码为 JSON 格式数据
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
data2 = json.dumps(data)
print(data2)

json.load

格式

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

参数解释
参照:https://blog.csdn.net/daerzei/article/details/100598901

encoding:编码方式
object_pairs_hook:它会将结果以key-value有序列表的形式返回
object_hook:它会将(loads的)返回结果字典替换为你所指定的类型,这个功能可以用来实现自定义解码器,
parse_float:它如果被指定的话,在解码json字符串的时候,符合float类型的字符串将被转为你所指定的
parse_int:它如果被指定的话,在解码json字符串的时候,符合int类型的字符串将被转为你所指定的
parse_constant:它如果被指定的话,在解码json字符串的时候,如果出现以以下字符串:-Infinity,Infinity,NaN那么指定的parse_constant方法将会被调用到

使用方法

#Python 解码 JSON 对象:
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print(text)

你可能感兴趣的:(import json基本使用)