我正在尝试编写一个震动规范,用于在下面提到的预期输出中转换以下输入
输入:
<代码>{"城市":"西雅图","州":"西澳","国家":"美国","日期":"10/20/2018","用户列表": [ { "名":"大卫","年龄":"22","性别":"M","公司":"好" }, { "名":"汤姆","年龄":"30","性别":"M","公司":"好" }, { "名":"安妮","年龄":"25","性别":"F","公司":"坏" }, { "名":"亚伦","年龄":"27","性别":"M","公司":"坏" } ] }
预期输出:
{“用户”:[{“日期”:“10/20/2018”,“用户名”:“David”,“年龄”:“22”,“性别”:“M”,“组织”:“良好”},{“时间”:“2018年10月20日”,“姓名”:“汤姆”,“30”,“性”:“M”,“机构”:“好”}],“日期”“10/20/2008”,“州”:“华盛顿州”,“国家”:“美国”}
我想过滤掉列表中company=bad或sex=F的所有元素,或者只保留company=good和sex=M的元素。我需要帮助根据特定条件从列表中删除元素。对于这种数据驱动的转换,建议使用jolt吗?
到目前为止,我编写的规范是<code>〔{“operation”:“shift”,“Spec”:{“userList”:{“*”:{“name”:“users”[
好了,下面是我为“把所有的东西都拿走”想出一个解决方案的过程
[{
"operation": "shift",
"spec": {
"userList": {
"*": {
"name": "users.[&1].username",
"age": "users.[&1].age",
"sex": "users.[&1].sex",
"company": "users.[&1].organization",
"@(2,date)": "users.[&1].date"
}
},
"date": "Date",
"state": "State",
"country": "Country"
}
}
,
{
"operation": "shift",
"spec": {
"*": "&",
"users": {
"*": {
"sex": {
"M": {
"@(2,username)": "users.&3.username",
"@(2,age)": "users.&3.age",
"@(2,sex)": "users.&3.sex",
"@(2,organization)": "users.&3.organization",
"@(2,date)": "users.&3.date"
}
}
}
}
}
}
,
{
"operation": "shift",
"spec": {
"*": "&",
"users": {
"*": {
"organization": {
"good": {
"@(2,username)": "users.&3.username",
"@(2,age)": "users.&3.age",
"@(2,sex)": "users.&3.sex",
"@(2,organization)": "users.&3.organization",
"@(2,date)": "users.&3.date"
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": "&",
"users": {
"*": "users[]"
}
}
}
]
对于另一种情况,您只需更改过滤规则,以便在规则匹配时不执行任何操作,并在其他情况下复制字段 (*)。其中给出了以下规范(仅在第一个字段上进行了,更新第二个字段应该不是问题)
[{
"operation": "shift",
"spec": {
"userList": {
"*": {
"name": "users.[&1].username",
"age": "users.[&1].age",
"sex": "users.[&1].sex",
"company": "users.[&1].organization",
"@(2,date)": "users.[&1].date"
}
},
"date": "Date",
"state": "State",
"country": "Country"
}
}
,
{
"operation": "shift",
"spec": {
"*": "&",
"users": {
"*": {
"sex": {
"F": null,
"*": {
"@(2,username)": "users.&3.username",
"@(2,age)": "users.&3.age",
"@(2,sex)": "users.&3.sex",
"@(2,organization)": "users.&3.organization",
"@(2,date)": "users.&3.date"
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": "&",
"users": {
"*": "users[]"
}
}
}
]
我正在尝试用以下规格进行JOLT换班操作,这是不起作用的。不知道我犯了什么错误。在这种情况下需要帮助。输出JSON作为一个对象来代替Array,shift也不能按预期工作。
我对震动是新手。我有两个不同的相同结构的输入json集,除了一个对象内部不同的基于decider值,如下所示。
我正在尝试为下面的输入编写一个jolt转换:input 预期输出。 请帮助我在spec.json中实现预期的output . JSON。spec没有转换为预期的输出。我想学习如何在字符串解析器中使用属性
需要颠簸规格。另外,请建议任何好的教程都可用于相同。需要以下信息。1.在列表中添加默认值 2.根据其他字段的条件设置字段值 3.字符串附加功能可以在JOLT中工作吗?4.将对象转换为数组 你能建议同样的JOLT规范吗?
描述我正在处理一个需要JSON到JSON转换的问题,所以我使用Jolt库来解决这个问题。我的输入JSON文档中有一些节点,它们有时可以作为对象数组出现,有时可以作为普通对象出现。我无法定义适用于对象数组和单个对象的Jolt规范。 要求如果节点包含对象数组,则从数组中获取第0个元素并将其映射到输出JSON。 颠簸规格 输入JSON(JSON规范适用于此输入) 输出JSON(获取预期输出) 但是,当患
我很难为不同的JSON输入编写一个jolt规范。我需要得到一个通用的jolt规范,以便得到一个扁平的json 输入1: 输入2: 需要JSON输出- 单个平展 JSON : 我尝试的Jolt规范适用于输入2,但不适用于输入1: 请帮助我很难为不同的 JSON 输入编写颠簸规范。我需要获得一个通用的颠簸规范,以便我得到一个扁平化的 json