使访问类似json的数据更加方便。
objectify-json的Python项目详细描述
对象化json
使访问类似json的数据更加方便。
功能
- 通过点
.
(data.a.b.c
)访问dict值。 - 始终返回
ObjectifyJSON
类型,该类型保存类型为dict、list或任何其他基元类型的数据。 - 使用
x._data
获取真实数据。 - 一个名为
object
的cli工具,用于处理json数据。
安装
pip3 install objectify-json
示例
见test.py
批量处理数据的函数
- 返回值也总是
ObjectifyJOSN
! - lambda函数的返回值将始终展开为基元类型。
- 大多数
fn_*
函数接受可选的unwrap
参数,以允许将基础值作为基元类型传递给lambda。默认值为false。 - 在cli工具中使用时,如果按属性名(例如
map
)获取属性失败,则将重试获取添加前缀fn_
的函数。这将简化cli命令的编写。
普通
以下方法ObjectifyJOSN
接受可选的unwrap
以将ObjectifyJOSN
数据展开到底层内置数据,默认值为False
。
fn_map(fn, unwrap=False)
:迭代器上的map
fn_reduce(fn, initializer=None, unwrap=False)
:reduce
在迭代器上,lambda作为第一个位置参数,可选的initializer
参数将传递给内置的reduce
。fn_lambda(fn, unwrap=False)
:值输入和输出fn_filter(fn, unwrap=False)
:迭代器上的filter
dict
fn_keys()
:将键作为列表返回。fn_values()
:以列表形式返回值。fn_items()
:以列表形式返回项。元素具有类型tuple
,例如("key", "value")
。fn_include_keys(keys)
:过滤dict。保留您给出的keys
。fn_exclude_keys(keys)
:筛选dict。删除您提供的keys
。fn_filter_by_value(fn)
:按给定的lambda筛选dict.filter,该lambda接受dict item的值。fn_filter_by_kv(fn)
:按给定的lambda筛选dict.filter,lambda接受key
和value
两个变量。fn_update(key, fn, unwrap=False)
:更新dict值。您提供的lambda接受原始值并返回一个新值。fn_items_update(fn, unwrap=False)
:更新dict值。给的lambda接受key
和value
两个变量并返回一个新值。fn_rename(mapping)
:更新dict key。mapping
是一个包含两个元素的列表。
列表
fn_sort(fn)
:对列表进行适当排序。您提供的lambda将作为key
参数传递给list的sort
方法。fn_dedup(fn=None, all=True)
:删除列表中的元素的重复数据。如果all
如果False
,则通过比较上一个值之间的当前值来检查重复,否则将与以前出现的所有值进行比较。