声明性json数据解析管道
crispum的Python项目详细描述
crispum
==
跨语言声明性解析管道。
installation
----
节点:``npm i crispum--save`
python:``pip install crispum`,或者如果你很聪明的话,使用crispum可以接收静态JSON模式对象并返回一个解析器函数,该函数将应用schema对象中列出的所有转换;https://github.com/bendrucker/obstruction>;``示例。
…代码::json
{
“type”:“simple”、
“keys”:{
“everyly”:“awesome”
}
}
此架构将转换以下对象……
代码::json
{
“棒极了”:“它工作了!”
}
代码::json
{
“确实”:“它工作了!”
}
架构也可以是一个指令数组,并且可以将
指令应用于整个对象或数组的每个元素。
代码::json
[{
“type”:“cluck”,
“key”:“确实”
},{
“type”:“array”
},{
“type”:“conditional”,
“key”:“foo”,
“default”:{
“type”:“filter”
,“options”:{
“bar”:{
“type”:“cluck”,
“key”:“nested”
},
“baz”:{
“type”:“cluck”,
“key”:“special”
}
}
},{
“type”:“dearray”
},{
“type”:“simple”,
“keys”:{
“result”:“0”,
“extra”:“1”
}
}
这会产生一个复杂的多步骤模式,当应用于数据时,它会像这样…
代码::json
{
“extra”:“哦嘿”、
“确实”:[{
“foo”:“bar”、
“nested”:“value”
}、{
“foo”:“boozle”、
“nested”:“lost in space”
}、{
“foo”:“baz”、
“nested”:“value”,
“特殊”:“所以巴兹”
}
}
代码::json
{
“result”:“value”
“extra”:“so bazzy”
>
API
==
``crispum(schema)` ` `->;``函数(数据)` ` ` `
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^是的返回的parse
方法接受一个参数,即输入数据,并返回转换后的数据。
schema
~~~~
*必选*
类型:``object``或``array`
schema可以是单个指令或它们的数组。每个
指令都必须有一个“type`”,并且可以选择包含一个
``array``字段。
当前数据将被重新解释为
数组,每条指令将在条目上执行,而不是
列表本身。
它还可以接受
可选参数`` keys``
``keys``是一个要从数据复制到
数组的每个元素中的键的列表,然后再在管道上继续
conditional
^^^^^^^^^^^^^^^^
conditional指令查看指定键的值,然后根据找到的值执行不同的指令。
-``key`:它们检查条件与
-``default``的键名:如果找到的值不在
options列表中,则为默认指令:
-``options`:指令选项的关联数组
dearray
^^^^^^^^^
停止数组管道并返回到将数据解释为
整体而不是e每个元素。
filter
^^^^^
这在与“array”和“conditional”结合使用时非常有用,simple
^^^^^^^^
simple onyl接受1个其他参数,即“keys”。键应该是一个有效的“阻塞”schema<;https://github.com/bendrucker/阻塞schema definitions>;``uuuu.
结果与阻塞将生成的输出结果相同,只是没有删除schema中没有提到的额外键。
数据集到它上面。
它接受两个参数\*``key`:要获取并重新定位的键名
当前数据集到\*``keys``:要将
从父对象复制到提取的值中的额外键数组
license
=
mit
==
跨语言声明性解析管道。
installation
----
节点:``npm i crispum--save`
python:``pip install crispum`,或者如果你很聪明的话,使用crispum可以接收静态JSON模式对象并返回一个解析器函数,该函数将应用schema对象中列出的所有转换;https://github.com/bendrucker/obstruction>;``示例。
…代码::json
{
“type”:“simple”、
“keys”:{
“everyly”:“awesome”
}
}
此架构将转换以下对象……
代码::json
{
“棒极了”:“它工作了!”
}
代码::json
{
“确实”:“它工作了!”
}
架构也可以是一个指令数组,并且可以将
指令应用于整个对象或数组的每个元素。
代码::json
[{
“type”:“cluck”,
“key”:“确实”
},{
“type”:“array”
},{
“type”:“conditional”,
“key”:“foo”,
“default”:{
“type”:“filter”
,“options”:{
“bar”:{
“type”:“cluck”,
“key”:“nested”
},
“baz”:{
“type”:“cluck”,
“key”:“special”
}
}
},{
“type”:“dearray”
},{
“type”:“simple”,
“keys”:{
“result”:“0”,
“extra”:“1”
}
}
这会产生一个复杂的多步骤模式,当应用于数据时,它会像这样…
代码::json
{
“extra”:“哦嘿”、
“确实”:[{
“foo”:“bar”、
“nested”:“value”
}、{
“foo”:“boozle”、
“nested”:“lost in space”
}、{
“foo”:“baz”、
“nested”:“value”,
“特殊”:“所以巴兹”
}
}
代码::json
{
“result”:“value”
“extra”:“so bazzy”
>
API
==
``crispum(schema)` ` `->;``函数(数据)` ` ` `
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^是的返回的parse
方法接受一个参数,即输入数据,并返回转换后的数据。
schema
~~~~
*必选*
类型:``object``或``array`
schema可以是单个指令或它们的数组。每个
指令都必须有一个“type`”,并且可以选择包含一个
``array``字段。
当前数据将被重新解释为
数组,每条指令将在条目上执行,而不是
列表本身。
它还可以接受
可选参数`` keys``
``keys``是一个要从数据复制到
数组的每个元素中的键的列表,然后再在管道上继续
conditional
^^^^^^^^^^^^^^^^
conditional指令查看指定键的值,然后根据找到的值执行不同的指令。
-``key`:它们检查条件与
-``default``的键名:如果找到的值不在
options列表中,则为默认指令:
-``options`:指令选项的关联数组
dearray
^^^^^^^^^
停止数组管道并返回到将数据解释为
整体而不是e每个元素。
filter
^^^^^
这在与“array”和“conditional”结合使用时非常有用,simple
^^^^^^^^
simple onyl接受1个其他参数,即“keys”。键应该是一个有效的“阻塞”schema<;https://github.com/bendrucker/阻塞schema definitions>;``uuuu.
结果与阻塞将生成的输出结果相同,只是没有删除schema中没有提到的额外键。
数据集到它上面。
它接受两个参数\*``key`:要获取并重新定位的键名
当前数据集到\*``keys``:要将
从父对象复制到提取的值中的额外键数组
license
=
mit