gpt4 book ai didi

python - 如何向 jsonpath 提供输入字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:20 24 4
gpt4 key购买 nike

我正在尝试使用jsonpath-rw但是当我尝试获取 JSON 值时:

input_string = "{'foo': [{'baz': 1}, {'baz': 2}]}"
result = [match.value for match in jsonpath_ex.find(input_string)]
print result
[]

结果始终是一个空列表。但是,当我使用以下代码时,我得到了结果:

result = [match.value for match in jsonpath_ex.find(ast.literal_eval(input_string))]
print result
[1, 2]

这比第一个输出更好。当 input_string = """{'foo': [{'baz': true}, {'baz': 2}]}""" 是有效的 JSON 但不是有效的 Python 时,我得到:

  File "/usr/lib64/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')

但是,当 true 位于双引号中时,解析成功。如何提供 input_string 以便 jsonpath-rw 可以找到它?

最佳答案

为了使用字符串作为 jsonpath_ex.find(input) 的输入,请使用 json 模块解析输入字符串,这会将其转换为 Python 对象。例如:

result_list = [match.value for match in jsonpath_ex.find(json.loads(input_string))]

关于python - 如何向 jsonpath 提供输入字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com