为restful api部分响应设计的字段过滤器专用的小列表/dict dsl。
collection-filter的Python项目详细描述
https://github.com/kudo/collection-filter
这个库为list或dict数据提供一个dsl过滤器。 它是为restful api部分响应而设计的。 使用Python2.6和2.7进行测试。
快速启动
要安装,请使用pip:
$ pip install collection-filter
然后:
$python>>>fromcollection_filterimportcollection_filter# Query a dict>>>collection_filter({'foo':1,'bar':2},'foo'){'foo':1}# Query a dict with multiple elements (seperated by comma)>>>collection_filter({'foo':1,'bar':2},'foo,bar'){'foo':1,'bar':2}# Query a dict deeply>>>collection_filter({'foo':{'bar':2,'orange':'sweet'}},'foo.bar'){'foo':{'bar':2}}# Query a list>>>collection_filter([{'foo':1,'bar':2},{'foo':3,'bar':4}],'[].foo')[{'foo':1},{'foo':3}]# list/dict combination example>>>collection_filter({'foo':'bar','aListOfDict':[{'foo':1,'bar':2}],'aListOfDict[].foo'){'aListOfDict':[{'foo':1}]}
语法
目前支持运营商
Operator | Description |
---|---|
, | Multiple field query sperated by comma |
[] | To indicate the data should be handled as list |
. | Dot notation should follow with a symbol name which to specify a field in current dict data |