数组数组的 Jolt 转换规范
Jolt Transformation Spec for array of arrays
我有一个 json 输入,预期输出如下。请帮助我生成规范。
输入JSON:
{
"Features": [
"fields": [
{
"name": "featureName"
},
{
"name": "featureVersion"
},
{
"name": "featureLevel"
},
{
"name": "featureComponent"
}
],
"rows": [
[
"checkoutandopeninnative",
"11R1",
"1.0.0",
"CheckoutAndOpenInNative",
"1.0"
],
[
"ConfigurationMigration",
"1.0",
"1.0.1.68",
"ConfigMigrationUtility",
"1.0"
]
]
]
}
预期输出JSON:
{
"Features": [
{
"featureName": "checkoutandopeninnative",
"featureVersion": "11R1",
"featureLevel": "1.0.0",
"featureComponent": "CheckoutAndOpenInNative"
},
{
"featureName": "ConfigurationMigration",
"featureVersion": "1.0",
"featureLevel": "1.0.1.68",
"featureComponent": "ConfigMigrationUtility"
}
]
}
请帮我制定规范,以便在颠簸中转换它。我对摇晃很陌生,尝试过几次都没有用。
谢谢,
哈里
说真的,没有谷歌搜索?
说真的,一系列 [[[ ?试试这个验证器:codebeautify.org/jsonviewer
所以:JSON 输入无效。验证器说:E2 ->Error: Parse error on line 1: Parse error on line ^ Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', 得到 'undefined'
结果:
Parse error on line 3:
...
"fields": [
{
----------------------^
Expecting 'EOF', '}', ',', ']', got ':'
输入语法错误:连续的方括号[[[是错误的,在加深结构的时候;这些应该用大括号插入:[{[{[
看看输出的例子,你自己说:符合规则。
此规范应该适合您:
[
{
"operation": "shift",
"spec": {
"Features": {
"rows": {
"*": {
"*": "Features[&1].@(3,fields[&].name)"
}
}
}
}
}
]
备注:
- 我假设您的输入应该更像:
"Features" : { ... }
不是 "Features": []
@Franta 指出的
- 查看 https://jolt-demo.appspot.com/,您可以在其中找到上面代码段中使用的运算符示例
- 另请查看 shiftr docs,您可以在其中找到有关
*
、&
和 @
运算符及其高级版本的更多信息
为了在阅读文档时更容易理解:
我有一个 json 输入,预期输出如下。请帮助我生成规范。
输入JSON:
{
"Features": [
"fields": [
{
"name": "featureName"
},
{
"name": "featureVersion"
},
{
"name": "featureLevel"
},
{
"name": "featureComponent"
}
],
"rows": [
[
"checkoutandopeninnative",
"11R1",
"1.0.0",
"CheckoutAndOpenInNative",
"1.0"
],
[
"ConfigurationMigration",
"1.0",
"1.0.1.68",
"ConfigMigrationUtility",
"1.0"
]
]
]
}
预期输出JSON:
{
"Features": [
{
"featureName": "checkoutandopeninnative",
"featureVersion": "11R1",
"featureLevel": "1.0.0",
"featureComponent": "CheckoutAndOpenInNative"
},
{
"featureName": "ConfigurationMigration",
"featureVersion": "1.0",
"featureLevel": "1.0.1.68",
"featureComponent": "ConfigMigrationUtility"
}
]
}
请帮我制定规范,以便在颠簸中转换它。我对摇晃很陌生,尝试过几次都没有用。
谢谢, 哈里
说真的,没有谷歌搜索?
说真的,一系列 [[[ ?试试这个验证器:codebeautify.org/jsonviewer
所以:JSON 输入无效。验证器说:E2 ->Error: Parse error on line 1: Parse error on line ^ Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', 得到 'undefined'
结果:
Parse error on line 3: ...
"fields": [
{----------------------^
Expecting 'EOF', '}', ',', ']', got ':'
输入语法错误:连续的方括号[[[是错误的,在加深结构的时候;这些应该用大括号插入:[{[{[
看看输出的例子,你自己说:符合规则。
此规范应该适合您:
[
{
"operation": "shift",
"spec": {
"Features": {
"rows": {
"*": {
"*": "Features[&1].@(3,fields[&].name)"
}
}
}
}
}
]
备注:
- 我假设您的输入应该更像:
"Features" : { ... }
不是"Features": []
@Franta 指出的
- 查看 https://jolt-demo.appspot.com/,您可以在其中找到上面代码段中使用的运算符示例
- 另请查看 shiftr docs,您可以在其中找到有关
*
、&
和@
运算符及其高级版本的更多信息
为了在阅读文档时更容易理解: