使用路径表达式从json对象获取值
json-get的Python项目详细描述
使用路径表达式从json对象获取值。可选类型 可以检查:
>>> from jsonget import json_get, json_get_default, JList >>> j = { ... "foo": {"num": 3.4, "s": "Text"}, ... "arr": [10, 20, 30], ... } >>> json_get(j, "/foo/num") 3.4 >>> json_get(j, "/arr[1]") 20 >>> json_get(j, "/foo/unknown") Traceback (most recent call last): ... ValueError: JSON path '/foo/unknown' not found
可以根据以下类型之一检查值: str、int、float、bool、list和dict。 不支持检查空值:
>>> json_get(j, "/foo/num", str) Traceback (most recent call last): ... TypeError: wrong JSON type str != float
float将匹配任何数字,int将只匹配没有 小数部分:
>>> json_get(j, "/foo/num", float) 3.4 >>> json_get(j, "/foo/num", int) Traceback (most recent call last): ... TypeError: wrong JSON type int != float
此外,还可以检查列表值的类型:
>>> json_get(j, "/arr", JList(int)) [10, 20, 30]
json_get_default()可用于返回默认值,如果给定 路径不存在:
>>> json_get_default(j, "/bar", "default value") 'default value'