我对Talend很新,我很难使用tRest获取JSON数据。
我们假设我正试图从社交网络获取所有帖子。
这就是为什么我使用https://tagboard.com来获取以JSON格式化的数据。
这是我尝试过的一个场景。 我有一个来自https://post-cache.tagboard.com/search/tunisie?count=2的输出JSON数据,例如2个帖子,我删除了一些节点以澄清...:
{
"posts":
[
{
"network": "twitter",
"post_id": "547835328170823680",
"text": "#tunisie .. #tunis",
"html": " ",
"permalink": " ",
"post_time": 1419449095,
"user_id": "159415522",
"user_name": " ",
"user_real_name": " ",
"user_profile_image_url": " ",
"hashtags": [ "tunisie", "tunis" ]
},
{
"network": "Facebook",
"post_id": "547835328170823680",
"text": "#tunisia .. #tunis",
"html": " ",
"permalink": " ",
"post_time": 1777449095,
"user_id": "159995522",
"user_name": " ",
"user_real_name": " ",
"user_profile_image_url": " ",
"hashtags": [ "tunisia", "tunis2" ]
}
]
}
这是Talend的第一份工作:
我配置tExtractJSONField从数据中提取 text 字段,如下所示:
事实上,我需要以下字段: newtork,text,post_time 以及主题标签列表。
由于Mapping表上的 Body ,我认为我无法添加更多属性来映射其余字段。
我发现有一种方法可以使用tXMLMap映射数据,其中可以扩展body字段以添加更多字段:
我相信有一种方法可以为JSON做同样的事情,但我不知道如何等待你的帮助。
答案 0 :(得分:2)
您必须使用 tMap 组件
您必须像这个例子那样配置数据模式:
答案 1 :(得分:0)
选择以下选项
阅读:JsonPath
循环json查询:“$ .posts [*]”
使用[0].network
和[1].network
提取内部json数组字段
tExtractJSONFields
组件。