使用路径表达式从json对象获取值

json-get的Python项目详细描述


https://img.shields.io/pypi/l/json-get.svghttps://img.shields.io/github/release/srittau/python-json-get/all.svghttps://img.shields.io/pypi/v/json-get.svghttps://travis-ci.org/srittau/python-json-get.svg?branch=master

使用路径表达式从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

可以根据以下类型之一检查值: strintfloatboollistdict。 不支持检查空值:

>>> 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'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从servlet向所有登录用户发送数据   java为什么需要ScheduledExecutorService。shutdown()使用我100%的CPU吗?   用于计算ArrayList中重复项的java嵌套循环无法正常工作   如何获取使用audioinputstream java下载文件的进度   java Kurento复合网格记录   识别方法的java问题   java on Markerclick listener绘制路线并计算距离   java在API级别16上创建/生成R.id   java如何修复HQL查询中的“意外令牌”错误   Java创建损坏的ZIP文件   JavaGSON。如何将json对象转换为json数组?   java需要配置Spring安全性和Hibernate   Vowpal Wabbit的Java API?