JSON流写入器
项目描述
源代码可在 github 上找到。
代码遵循MIT许可证。有关确切条款,请参阅包含的LICENSE文件。
描述
JSONstreams是一个尝试使以流格式编写JSON更容易的包。与核心json模块相比,此包不需要在写入之前构建一个完整的dict和list树,而是提供了一个直接的方法来写入一个JSON文档,而无需预先构建整个数据结构。
JSONstreams认为有两种基本类型,即JSON数组(对应于Python的list)和JSON对象(对应于Python的dict),可以编码json.JSONEncoder可以编码的任何类型,或者可以使用子类来处理其他类型。
接口设计为以上下文管理器为中心。Stream类以及由subarray和subobject方法返回的Array和Object类(分别)可以用作上下文管理器,也可以不使用,但建议使用上下文管理器以确保每个容器都正确关闭。
基本用法
一个简单的例子如下
import jsonstreams
with jsonstreams.Stream(jsonstreams.Type.OBJECT, filename='foo') as s:
s.write('foo', 'bar')
with s.subobject('a') as a:
a.write('foo', 1)
a.write('bar', 2)
s.write('bar', 'foo')
写入已关闭的组将引发异常,不应处理此异常,此异常总是编程错误,应予以纠正。
可以写入编码器(默认为json.JSONEncoder)可以编码的任何值,因此无需迭代列表或字典来写入它们。
import jsonstreams
mylist = list(range(10))
mydict = {a: b for a in range(10) for b in 'abcdefghij'}
with jsonstreams.Stream(jsonstreams.Type.OBJECT, filename='foo') as s:
s.write('list', mylist)
s.write('dict', mydict)
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
jsonstreams-0.6.0.tar.gz (33.5 kB 查看哈希值)
构建分发
jsonstreams-0.6.0-py2.py3-none-any.whl (10.6 kB 查看哈希值)
关闭
jsonstreams-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 721cda7391e9415b7b15cebd6cf92fc7f8788ca211eda7d64162a066ee45a72e |
|
MD5 | f3a40174a4f54e0ecbf803cf92ead38a |
|
BLAKE2b-256 | 858c01333839805428590015bb4cbc3b730876609e536954eb1140d24b410bd0 |
关闭
jsonstreams-0.6.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2e609c2bc17eec77fe26dae4d32556ba59dafbbff30c9a4909f2e19fa5bb000 |
|
MD5 | db41682f5cb55033ba6400f08003a87a |
|
BLAKE2b-256 | afbe233b55906cc033b890c2e4593077bc10c7e09257c46f5253dd9b2850f3f4 |