2014-12-24 8 views
5

Sono abbastanza nuovo per Talend e sono bloccato a ottenere dati JSON utilizzando tRest.tRest e mappa JSON con tExtractJSONField con TALEND

Supponiamo che sto cercando di ottenere tutti i messaggi dai social network.

Ecco perché sto utilizzando https://tagboard.com per ottenere dati formattati in JSON.

Ecco uno degli scenari che ho provato. Ho un'uscita dati JSON come questo da https://post-cache.tagboard.com/search/tunisie?count=2 con 2 posti come esempio, ho rimosso alcuni nodi da chiarire ...:

{ 
"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" ]   
    } 
] 
} 

Ecco il primo lavoro Talend:

enter image description here

E ho configurato tExtractJSONField per estrarre il testo campo dai dati come qui sotto:

enter image description here

enter image description here

In realtà, ho bisogno di questi campi: newtork, testo, post_time, e l'elenco delle hashtags.

A causa di Corpo nella tabella Mappatura, penso di non poter aggiungere altri attributi per mappare il resto dei campi.

ho trovato che c'è un modo per mappare i dati con tXMLMap cui il campo di corpo può essere esteso per aggiungere più campi:

enter image description here

Credo che ci sia un modo fare la stessa cosa per JSON ma non so come e aspetto il tuo aiuto

risposta

2

è necessario utilizzare tMap componente enter image description here

e si deve configurare schema di dati come in questo esempio:

enter image description here

+0

Avresti dovuto dare una risposta specifica alla sua domanda. Non appena incollato qualche esempio. È difficile seguire ciò di cui stai parlando qui perché i campi non corrispondono. –

0

Selezionare di seguito le opzioni

Letto da: JsonPath

loop di query JSON: "$ .posts [*]"

estratto campi matrice JSON interni utilizzando [0].network e [1].network in tExtractJSONFields componente.

Problemi correlati