Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Parsing Json in Talend?

Hey!
I've got problems with talend using json.
I have a file containing 2 cols :
I just want to exract some precise data from that json without losing my ID. So i could make a new file like : (and so on)
I attempted to use a tFileInputJSON. I had to separate my from my in order to do so but i couldn't mix those data again with a tMap for example.
So instead, i manage to use a tJavaRow. This way i can keep all my previous cols and treat my JSON string easier. BUT, i can't get this thing to work properly.
Here is my code :
JSONObject json = new JSONObject(input_row.jsonCol);
JSONArray jsonMainArr = json.getJSONArray("Att");
System.out.println(jsonMainArr.toString());

And i get an error saying to me that JSONArray is not visible.
So i thought that i forgot to "import" something so i added :
import org.json.simple.JSONArray;

It can't find it 😕
When i try to look in "outines.system" i can only find a "JSONObject"...
I did not wanted to use a tExtractRegexFields...
So what should i do? any clue?
Labels (4)
3 Replies
Anonymous
Not applicable
Author

Hi
Welcome to Talend Community!
Could you show us the data of your JSON file and the expected result?
Maybe we could create a job and get the result in a Talend way.
I think there is no need to code in tJavaRow. It shouldn't be so complex.
Regards,
Pedro
Anonymous
Not applicable
Author

Thx for reading.
Here is my json example :
{
"RawListDigest":" Test - 2001",
"Type":"Book",
"Title":"Book Test",
"Contributor":
{
"Authors":
,
"Editor":
},
"Topic":"Some topic",
"Attributes":
,
}

And i wanted to have something like
BookID|Type|Attribute - Collection (if AttributeKey == "A001")

So, my final file could like :
15648|Book|TestCollection
15649|Book|Collection2
15650|Book|TestCollection
16697|Book|My Collection

I get the "BookID" value from a file containing all my book id. Then i make a request via URL to get an XML for eache book id.
That XML contain my json Data (actually i managed to isolate that data thanx to XPath 0683p000009MACn.png ).
And voila ^^
Tell me if i missed something ^^.
Anonymous
Not applicable
Author

Hi there. I don't know if you came right... but your could try:

 import org.json.JSONArray;