我的源数据是一个巨大的扁平CSV,其中包含我想要规范化并存储在多个单独的数据库表中的数据。我想知道是否可以使用JOLT转换来改变CSV数据的结构,我已经有了一个平面JSON对象。
例如,下面的对象有两个“父”行和三个重复的列对,它们是“子”行:
{
"id": 1,
"name": "zzz",
"code_1": "abc",
"date_1": "2021-01-01",
"code_2": "def",
"date_2": "2021-01-02",
"code_3": "ghi",
"date_3": "2021-01-03"
}
我可以使用JOLT生成输出吗:
{
"id": 1,
"name": "zzz",
"codes": [
{
"code": "abc",
"date": "2021-01-01"
},
{
"code": "def",
"date": "2021-01-02"
},
{
"code": "ghi",
"date": "2021-01-03"
}
]
}
我在Jolt游乐场附近玩过,但到目前为止,我还没有找到可以实现这一目标的东西。
欢迎任何提示、提示或建议。
提前感谢。
更新:
我越来越近了,具有以下规格和输出。但是,我的代码和日期位于不同的对象中:
规范:
[
{
"operation": "shift",
"spec": {
"identifier": "id",
"name": "name",
"code*": "codes[].code",
"date*": "codes[].date"
}
}
]
输出:
{
"id" : 1,
"name" : "zzz",
"codes" : [ {
"code" : "abc"
}, {
"date" : "2021-01-01"
}, {
"code" : "def"
}, {
"date" : "2021-01-02"
}, {
"code" : "ghi"
}, {
"date" : "2021-01-03"
} ]
}
(编辑:更正了所需的输出。
在第一步中,当元素按_1、_2、_3分组在公共编号的键下时,可以使用两次移位变换,然后删除这些对象的键,同时将它们嵌套在代码列表中,例如
[
{
"operation": "shift",
"spec": {
"*": "&",
"code*": { "@": "&(0,1).code" },
"date*": { "@": "&(0,1).date" }
}
},
{
"operation": "shift",
"spec": {
"_*": "codes[]",
"*": "&"
}
}
]
我正在尝试转换一个包含数组的JSON对象,并将数据卸载为单独的JSON。基本上,我需要为数组的每个元素创建一个对象,并复制所有外部数据。示例: 输入 预期产出 我尝试的规格: 我对 Jolt 很陌生,并尝试了几个不起作用的规格。我在取消嵌套部分时遇到问题。谢谢你的帮助。
我需要Jolt转换的帮助。我有数组,由许多json对象组成。(https://jolt-demo.appspot.com/) Jolt需要进行哪些转换才能获得以下结果? 现在我有了下一个Jolt构造: 但以下结果不正确:
我正在尝试为以下输入创建震动转换: 所需输出为: 我刚刚开始理解jolt转换的基础,但是对于嵌套结构来说,这似乎有点复杂。
我正在尝试在NIFI中创建一个jolt转换,我有一个带有标题、细节和行细节的JSON消息作为带有行细节对象的数组。 我们可以将标头/详细JSON转换为详细JSON吗?每个详细都有一个单独的JSON,带有2个新标签,具有“TRADETYP”和“TRANSPORT_CODE”的详细属性值的扁平数组 "TRADETYPALLLINES":["GR"、"EXP"、"SE"]"TRANSPORT_CODE_
我需要在输入JSON下面转换为输出JSON,但不确定如何编写规范。需要将一个字段(“主页”)重新定位为根元素。任何帮助或建议都将不胜感激。 输入JSON: 输出JSON:
我正在尝试使用Jolt将平面结构映射到层次结构http://jolt-demo.appspot.com/#andrewkcarter2: 我的输入是一个包含客户详细信息的平面结构:下面是我的JSON输入: 这是我的 JOLT 规格: 我得到的结果是: 在上面的输出中,我们看到帐户1001和1002重复交易的次数。我不希望这种情况发生,我希望交易被归类在各自的账户下。 所以,我想要的输出应该是: 类