Ich brauche ein JSON-Daten unter Verwendung des JoltTransformJSON innerhalb Nifi zu verwandeln, hier bin mein spec, die ich für die Transformation bin mit:JoltTransformJSON Prozessor in Nifi (json ohne übergeordneten Tag)
[{
"operation": "shift",
"spec": {
"*": {
"Header": {
"readOn": "created_date_time",
"fileName": "readFile"
},
"Data": {
"id": "Id",
"first_name": "First_Name",
"last_name": "Last_Name",
}
}
}}]
Mein Eingang Daten:
[{
"Header": {
"readOn": "2017/04/18 10:55:05",
"fileName": "sample1.csv",
"recordNum": 1
},
"Data": {
"last_name": "Martin",
"id": 21,
"first_name": "Clarence"
}
}, {
"Header": {
"readOn": "2017/04/18 10:55:05",
"fileName": "sample.csv",
"recordNum": 2
},
"Data": {
"last_name": "Graham",
"id": 22,
"first_name": "Walter"
}
}]
Ausgang, was ich bin immer:
{
"created_date_time": ["2017/04/18 10:55:05", "2017/04/18 10:55:05"],
"readFile": ["sample1.csv", "sample2.csv"],
"Id": [21, 22],
"First_Name": ["Clarence", "Walter"],
"Last_Name": ["Martin", "Graham"]
}
Die erforderliche Leistung:
[{
"recordNum": 1,
"Header": {
"created_date_time": "2017/04/18 10:55:05",
"readFile": "getusroi.csv"
},
"Data": {
"Last_Name": "Martin",
"Id": 21,
"First_Name": "Clarence"
}
}, {
"recordNum": 2,
"Header": {
"created_date_time": "2017/04/18 10:55:05",
"readFile": "getusroi.csv"
},
"Data": {
"Last_Name": "Graham",
"Id": 22,
"First_Name": "Walter"
}
}]
Frage: Kann mir jemand führen, wo alles, was ich die gewünschte transformierte Ausgabe zu erreichen, muss meine Ruck spec ändern.
dank @ mattyb..just einer kleinen Abfrage, sagen, wenn alle wollen, um die Daten (Header + Data) in einem neuen Schlüssel, der in der Eingabe nicht da ist, habe ich einen Join müssen neue Spezifikation für das in der Kette .. z - "Record": {"readOn": '' "," fileName ":" ".... etc} – Ranjan
Wenn Sie die Felder in Header und Data in einem Feld namens Record kombinieren möchten, können Sie & 1 durch ersetzen Aufzeichnung – mattyb