- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
传入的数据类似于以下内容:
[{
"foo": "bar"
}]
[{
"bar": "baz"
}]
[{
"baz": "foo"
}]
如您所见,对象数组串在一起。 JSON-ish
ijson 能够处理第一个数组,然后我得到:
ijson.common.JSONError: Additional data
当它命中后续数组时。我该如何解决这个问题?
最佳答案
这是解决问题的第一步,至少有一个有效的正则表达式替换可以将完整的字符串转换为有效的 json。仅当您可以在解析为 json 之前读取完整的输入流时,它才有效。
import re
input = ''
for line in inputStream:
input = input + line
# input == '[{"foo": "bar"}][{"bar": "baz"}][{"baz": "foo"}]'
# wrap in [] and put commas between each ][
sanitizedInput = re.sub(r"\]\[", "],[", "[%s]" % input)
# sanitizedInput == '[[{"foo": "bar"}],[{"bar": "baz"}],[{"baz": "foo"}]]'
# then parse sanitizedInput
parsed = json.loads(sanitizedInput)
print parsed #=> [[{u'foo': u'bar'}], [{u'bar': u'baz'}], [{u'baz': u'foo'}]]
注意:由于您将整个内容作为字符串读取,因此可以使用 json
而不是 ijson
关于python:如何使用 ijson 库解析 json 数组流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34217042/
我需要一点帮助来解析一个大的 JSON 文件。这里我只有一个数据样本(只有 2 个项目)。 我需要使用解析方法。 open() 不起作用,因为文件太大。 parser=ijson.parse("sam
我想从一个非常大的 json 文件中提取 abstractText。我使用 python 中的 lib ijson,但找不到正确的方法来提取我想要的内容。 json文件的结构是 {'articles'
for prefix, event, value in parser: print(prefix) 执行上述代码后出现以下错误,我不明白错误是什么。 ijson.common.Incomple
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我一直在尝试使用 Python 的 ijson 库解析 JSON 文件。这在查看二级元素或使用解析器时有效,但我更喜欢直接查看顶级元素的便利性。 JSON 的基本格式如下: {"foo":{"a":1
我有一个很大的 JSON 文件,如下所示: {"details":{ "1000":[ ["10","Thursday","1","19.89"], ["12"
传入的数据类似于以下内容: [{ "foo": "bar" }] [{ "bar": "baz" }] [{ "baz": "foo" }] 如您所见,对象数组串在一起。 JS
本教程https://www.dataquest.io/blog/python-json-tutorial/他们有一个 600MB 的文件,但是当我运行他们的代码时 import ijson file
我正在尝试解析一个大的 json 文件(数百个演出)以从其 key 中提取信息。为简单起见,请考虑以下示例: import random, string # To create a random ke
我正在处理一个非常大的 JSON 文件,我决定使用 ijson 库。 现在我想更新这个 JSON 文件中的一些值,但我不知道该怎么做。 例如,来自: {"age": 25, "gender": "M"
我正在尝试使用 ijson 而不是 json 以便能够有效地将字典转储到/从字符串(在内存中,而不是从文件中)转储/加载字典[1]. ijson 是否有任何类似于使用 json 进行标准转储/加载的示
我已经安装了python 3.7.0,我的安装目录是AppData\Local\Programs\Python\Python37-32 现在我尝试使用以下方法升级 pip:python -m pip
我正在尝试解析来自 GoogleMaps API 的 JSON 响应,以将嵌套字典中的值读取到 Pandas DataFrame 中。 JSON 响应的结构如下所示。 我正在尝试创建一个名为“addr
我正在尝试使用 ijson 包解析一个大型 (~100MB) json 文件,这使我能够以高效的方式与文件进行交互。然而,在编写了一些这样的代码之后, with open(filename, 'r')
我需要解析一个可能很大的 json 文件。所以我寻找解决方案来帮助我并找到了 ijson 库。似乎非常适合这个目的。 我使用 pypm(我使用 Active Python)、端口和直接使用提供的安装脚
我遇到了几个讨论 ijson 在 python 中加载巨大 JSON 文件的线程,因为这是不消耗所有内存的方法。 我的文件大小约为 1.4 GB,它有多个节点(见下图),我只对一个包含大部分数据的节点
我是一名优秀的程序员,十分优秀!