Python中的JSON格式
Javascript Object Notation 缩写为 JSON 是一种轻量级的数据交换格式。它将Python对象编码为 JSON字符串,并将 JSON字符串解码为Python对象。
- 许多 API 像 Github。以这种格式发送他们的结果。 JSON 可能最广泛地用于 AJAX 应用程序中的 Web 服务器和客户端之间的通信,但不限于该问题域。
- 例如,如果您正在尝试构建这样一个令人兴奋的项目,我们需要格式化 JSON 输出以呈现必要的结果。因此,让我们深入了解Python提供的用于格式化 JSON 输出的json模块。
职能
课程
转换基于此转换表。
执行
编码
我们将使用 dump()、dumps() 和 JSON.Encoder 类。
#Code will run in Python 3
from io import StringIO
import json
fileObj = StringIO()
json.dump(["Hello", "Geeks"], fileObj)
print("Using json.dump(): "+str(fileObj.getvalue()))
class TypeEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, type):
return str(obj)
print("Using json.dumps(): "+str(json.dumps(type(str), cls=TypeEncoder)))
print("Using json.JSONEncoder().encode"+
str(TypeEncoder().encode(type(list))))
print("Using json.JSONEncoder().iterencode"+
str(list(TypeEncoder().iterencode(type(dict)))))
输出:
Using json.dump(): ["Hello", "Geeks"]
Using json.dumps(): ""
Using json.JSONEncoder().encode""
Using json.JSONEncoder().iterencode['""']
解码
我们将使用 load()、loads() 和 JSON.Decoder 类。
#Code will run in Python 3
from io import StringIO
import json
fileObj = StringIO('["Geeks for Geeks"]')
print("Using json.load(): "+str(json.load(fileObj)))
print("Using json.loads(): "+str(json.loads('{"Geeks": 1, "for": 2, "Geeks": 3}')))
print("Using json.JSONDecoder().decode(): " +
str(json.JSONDecoder().decode('{"Geeks": 1, "for": 2, "Geeks": 3}')))
print("Using json.JSONDecoder().raw_decode(): " +
str(json.JSONDecoder().raw_decode('{"Geeks": 1, "for": 2, "Geeks": 3}')))
输出:
Using json.load(): ['Geeks for Geeks']
Using json.loads(): {'for': 2, 'Geeks': 3}
Using json.JSONDecoder().decode(): {'for': 2, 'Geeks': 3}
Using json.JSONDecoder().raw_decode(): ({'for': 2, 'Geeks': 3}, 34)
参考:
- https://文档。 Python.org/3/library/json.html