使用 Talend 将数据添加到 json 文件
Add data to a json file using Talend
我有以下 JSON:
[
{
"date": "29/11/2021",
"Name": "jack",
},
{
"date": "30/11/2021",
"Name": "Adam",
},
"date": "27/11/2021",
"Name": "james",
}
]
使用 Talend,我想添加 2 行来实现类似的内容:
[
{
"company": "AMA",
"service": "BI",
"date": "29/11/2021",
"Name": "jack",
},
{
"company": "AMA",
"service": "BI",
"date": "30/11/2021",
"Name": "Adam",
},
"company": "AMA",
"service": "BI",
"date": "27/11/2021",
"Name": "james",
}
]
目前,我使用 3 个组件(tJSONDocOpen、tFixedFlowInput、tJSONDocOutput),但我无法正确配置组件来完成工作!
根据 Talend 的惯例,您需要做的是阅读您的 JSON。然后提取它的每个对象,添加您的属性,最后在文件中重建您的 JSON。
一种有效的方法是使用 tMap 组件 like this。
第一个 tFileInputJSON 必须指定它必须从 JSON by setting your 2 objects in the mapping field.
中读取哪些属性
然后 tMap 将简单地向您的主流添加 2 列,here is an example with hard coded string values。根据您的需要,此组件还将为您提供将动态数据分配给 2 个新列的可能性,它是操纵数据流结构的强大工具。
您将在官方文档中找到有关此组件的更多信息:https://help.talend.com/r/en-US/7.3/tmap/tmap; 尤其是“tMap 场景”部分。
备注
如果您对 Java 感到满意,可以不使用 tMap,而是使用 tjavaRow。使用它,只要您定义了组件的输出架构,您就可以使用任何 java 代码设置您的 2 个新列。
output_row.Name = input_row.Name;
output_row.date = input_row.date;
output_row.company = "AMA";
output_row.service = "BI";
如果您对 json 不满意。
只需执行以下步骤:
- 在元数据中,只需像这样创建一个 FileJson,然后将其作为 tFileInputJson 粘贴到您的作业中
- 你的工作设计和映射将是
- 在您的 tFileOutputJson 中,不要忘记更改数据块的 名称“数据”为“”
我有以下 JSON:
[
{
"date": "29/11/2021",
"Name": "jack",
},
{
"date": "30/11/2021",
"Name": "Adam",
},
"date": "27/11/2021",
"Name": "james",
}
]
使用 Talend,我想添加 2 行来实现类似的内容:
[
{
"company": "AMA",
"service": "BI",
"date": "29/11/2021",
"Name": "jack",
},
{
"company": "AMA",
"service": "BI",
"date": "30/11/2021",
"Name": "Adam",
},
"company": "AMA",
"service": "BI",
"date": "27/11/2021",
"Name": "james",
}
]
目前,我使用 3 个组件(tJSONDocOpen、tFixedFlowInput、tJSONDocOutput),但我无法正确配置组件来完成工作!
根据 Talend 的惯例,您需要做的是阅读您的 JSON。然后提取它的每个对象,添加您的属性,最后在文件中重建您的 JSON。
一种有效的方法是使用 tMap 组件 like this。
第一个 tFileInputJSON 必须指定它必须从 JSON by setting your 2 objects in the mapping field.
中读取哪些属性然后 tMap 将简单地向您的主流添加 2 列,here is an example with hard coded string values。根据您的需要,此组件还将为您提供将动态数据分配给 2 个新列的可能性,它是操纵数据流结构的强大工具。
您将在官方文档中找到有关此组件的更多信息:https://help.talend.com/r/en-US/7.3/tmap/tmap; 尤其是“tMap 场景”部分。
备注
如果您对 Java 感到满意,可以不使用 tMap,而是使用 tjavaRow。使用它,只要您定义了组件的输出架构,您就可以使用任何 java 代码设置您的 2 个新列。
output_row.Name = input_row.Name;
output_row.date = input_row.date;
output_row.company = "AMA";
output_row.service = "BI";
如果您对 json 不满意。
只需执行以下步骤:
- 在元数据中,只需像这样创建一个 FileJson,然后将其作为 tFileInputJson 粘贴到您的作业中
- 你的工作设计和映射将是
- 在您的 tFileOutputJson 中,不要忘记更改数据块的 名称“数据”为“”