我正在测试将由该测试工具的 json 插件生成的 PyTest 结果存储到 ArangoDB 中的能力。我正在尝试按如下方式导入
import pyArango.connection as adbConn
dbConn = adbConn.Connection(...)
db = dbConn['mydb']
collection = db.collections['PyTestResults']
collection.bulkImport_json('/path/to/results.json')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/site-packages/pyArango/collection.py", line 777, in bulkImport_json
errorMessage = "At least: %d errors. The first one is: '%s'\n\n more in <this_exception>.data" %
(len(data), data[0]["errorMessage"])
TypeError: string indices must be integers
没有意义的是 JSON 文件格式正确。事实上,使用常规的 Python JSON 模块,它工作得很好:
import json
with open('/path/to/results.json') as fd:
data = json.load(fd)
print(data)
这行得通。文件的开头是
{"report":
{"environment":
{
"Python": "3.6.9", "Platform": "Linux-4.4.0-17763-Microsoft-x86_64-with-Ubuntu-18.04-bionic"
},
似乎图书馆pyArango
希望键是整数。我试过这个,那是我尝试更改"report"
为0
. 但是,这导致 JSON 结构无效。
如何使用pyArango库导入 JSON?这个 JSON 文件的整体结构看起来与本页中的任何示例都没有太大区别。非常感谢任何指针。