def fromjsons(values, generator=None, fillables=None, pointer_fromequal=False):
if hasattr(values, "read"):
def iterator():
j = json.JSONDecoder()
buf = ""
while True:
try:
obj, i = j.raw_decode(buf)
except ValueError:
extra = values.read(8192)
if len(extra) == 0:
break
else:
buf = buf.lstrip() + extra
else:
yield obj
buf = buf[i:].lstrip()
else:
def iterator():
j = json.JSONDecoder()
index = 0
while True:
try:
obj, i = j.raw_decode(values[index:])
except ValueError:
break
yield obj
_, index = fromjsons._pattern.match(values, index + i).span()
return fromiterdata(iterator(), generator=generator, fillables=fillables, pointer_fromequal=pointer_fromequal)
评论列表
文章目录