擅长:python、mysql、java
<p>为什么不直接使用<a href="https://docs.python.org/3/library/json.html#json.JSONDecodeError" rel="nofollow noreferrer">^{<cd2>}</a>的<code>pos</code>属性来告诉你在哪里划界呢?在</p>
<p>比如:</p>
<pre><code>import json
def json_load_all(buf):
while True:
try:
yield json.loads(buf)
except json.JSONDecodeError as err:
yield json.loads(buf[:err.pos])
buf = buf[err.pos:]
else:
break
</code></pre>
<p>将演示数据用作:</p>
^{pr2}$
<p>给了我两个元素,但我想你还有更多?在</p>
<p>要使用标准库完成此操作,写出来的内容如下所示:</p>
<pre><code>with open('data.json') as inp, open('out.json', 'w') as out:
for obj in json_load_all(inp.read()):
json.dump(obj, out)
print(file=out)
</code></pre>
<p>否则,<a href="https://jsonlines.readthedocs.io/en/latest/" rel="nofollow noreferrer">^{<cd3>}</a>包适合处理这种数据格式</p>