使用词典:
d = {'1': 'a'}
如何使用 Python 中的 JMESPath 库提取值
a
?
以下尝试均无效:
import jmespath
value = jmespath.search("1", d)
# throws jmespath.exceptions.ParseError: invalid token
value = jmespath.search("'1'", d)
# returns the key '1' instead of the value 'a'
如果标识符是
unquoted-string
,则可以直接寻址标识符,因此 A-Za-z0-9_
并且字符串以 A-Za-z_
开头。
根据上面列出的语法规则,标识符可以是一个或多个字符,并且必须以 A-Za-z_ 开头。
也可以引用标识符。当标识符包含语法规则中未指定的字符时,这是必要的。在这种情况下,标识符用双引号指定,后跟任意数量的unquoted-string
或unescaped-char
字符,后跟双引号。escaped-char
由于您的标识符是
0-9
,因此您必须使用双引号字符串作为该标识符,因此 "1"
。
所以,你的工作Python代码将是:
import jmespath
d = {'1': 'a'}
value = jmespath.search('"1"', d)
print(value)