tRest并使用TALEND将tExtractJSONField与JSON映射

时间:2014-12-24 19:58:54

标签: json rest talend

我对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的第一份工作:

enter image description here

我配置tExtractJSONField从数据中提取 text 字段,如下所示:

enter image description here

enter image description here

事实上,我需要以下字段: newtork,text,post_time 以及主题标签列表。

由于Mapping表上的 Body ,我认为我无法添加更多属性来映射其余字段。

我发现有一种方法可以使用tXMLMap映射数据,其中可以扩展body字段以添加更多字段:

enter image description here

我相信有一种方法可以为JSON做同样的事情,但我不知道如何等待你的帮助。

2 个答案:

答案 0 :(得分:2)

您必须使用 tMap 组件enter image description here

您必须像这个例子那样配置数据模式:

enter image description here

答案 1 :(得分:0)

  

选择以下选项

     

阅读:JsonPath

     

循环json查询:“$ .posts [*]”

使用[0].network[1].network提取内部json数组字段 tExtractJSONFields组件。