Python dpath.util.get 空字符串键错误

我读入了一个简单的 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 文本文件进行复制,但对于其他文件,它工作得很好。知道这里发生了什么吗?


心有法竹
浏览 224回答 1
1回答

函数式编程

在库的代码库中搜索此错误消息发现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")因此,当您的数据结构具有空键时会引发此错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python