python解析json文件并提取 列表_一个文件中的多个Json对象由python提取

holdtom

您可以使用json.JSONDecoder.raw_decode任意解码大量“堆叠”JSON字符串(只要它们可以适合内存)。raw_decode一旦它有一个有效的对象就停止,并返回不在解析对象中的最后一个位置。它没有记录,但您可以将此位置传回,raw_decode并从该位置再次开始解析。不幸的是,Python json模块不接受具有前缀空格的字符串。所以我们需要搜索以找到文档的第一个非空白部分。from json import JSONDecoder, JSONDecodeErrorimport reNOT_WHITESPACE = re.compile(r'[^\s]')def decode_stacked(document, pos=0, decoder=JSONDecoder()):    while True:        match = NOT_WHITESPACE.search(document, pos)        if not match:            return        pos = match.start()        try:            obj, pos = decoder.raw_decode(document, pos)        except JSONDecodeError:            # do something sensible if there's some error            raise        yield objs = """{"a": 1}     [1,   2]"""for obj in decode_stacked(s):    print(obj)打印:{'a': 1}[1, 2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值