我读入了一个简单的 JSON 文本文件,它解析为一个 dict 就好了。>>> data.keys()dict_keys(['metadata', 'value'])我想获取特定元素,我通常使用 dpath 包。但是,在这种情况下,我收到一个错误,这似乎暗示我dpath.util.get(data, 'metadata', separator='..')InvalidKeyName: Empty string keys not allowed without dpath.options.ALLOW_EMPTY_STRING_KEYS=True我没有看到任何空字符串键,只有上面的两个。我可以使用其他一些看似随机的 JSON 文本文件进行复制,但对于其他文件,它工作得很好。知道这里发生了什么吗?
1 回答

函数式编程
TA贡献1807条经验 获得超9个赞
在库的代码库中搜索此错误消息发现dpath/path.py:88:
for (k, v) in iteritems:
if issubclass(k.__class__, (string_class)):
if (not k) and (not dpath.options.ALLOW_EMPTY_STRING_KEYS):
raise dpath.exceptions.InvalidKeyName("Empty string keys not allowed without "
"dpath.options.ALLOW_EMPTY_STRING_KEYS=True")
因此,当您的数据结构具有空键时会引发此错误。
添加回答
举报
0/150
提交
取消