JSON umschreiben (converter)?

megusta

Neues Mitglied
Hallo Freunde,

ich brauche Hilfe von euch, da ich nicht weiß wo ich überhaupt anfangen soll. Ich habe zwei Apps und möchte von einen auf die andere umziehen, beide unterstützen JSON, der Aufbau der Dateien unterscheiden sich jedoch. Meine Programmierkenntnisse sind jedoch so gut wie nicht vorhanden. Vielleicht kann jemand mir trotzdem eine Idee geben oder evtl. auf einen anderen Forum verweisen.

Zur Problemstellung (eigentlich dürfte es nicht schwer sein):

[CODE lang="java" title="1. App wo nach ich JSON importiere"]{
"activeNotes": [
{
"id": "cf935f05271a49b28b7954866ef40d9b",
"content": "xx",
"creationDate": "2021-09-28T06:49:15.000Z",
"lastModified": "2021-09-28T09:19:42.000Z",
"tags": [
"Arbeit"
]
},
{
"id": "dec4503819d74187a2416f61eb3ce7ff",
"content": "Test\n- [x] Test",
"creationDate": "2021-09-28T09:19:45.000Z",
"lastModified": "2021-09-28T09:30:18.000Z",
"tags": [
"Arbeit"
]
}
]
}[/CODE]

[CODE lang="java" title="2. App export"] "lists": [
{
"created": 1427136530770,
"last_edited": 1427139110279,
"text_type": 0,
"trash": 0,
"manual_order": 0,
"folder": "Erste Schritte",
"alarm": 0,
"alarm_time": 0,
"lock": 0,
"shared": 0,
"owner_level": 24,
"rows": [
{
"text": "Einleitung: lesen!",
"checked": 0,
"indentation": 0
},
{
"text": "Danke",
"checked": 0,
"indentation": 0
},
{
"created": 1427136560725,
"last_edited": 1427139102853,
"text_type": 0,
"trash": 0,
"manual_order": 0,
"folder": "Erste Schritte",
"alarm": 0,
"alarm_time": 0,
"lock": 0,
"shared": 0,
"owner_level": 24,
"rows": [
{
"text": "Beispiel",
"checked": 0,
"indentation": 0
},[/CODE]

"ID" wird scheinbar von der 1.App selbst generiert, doppelte Einträge werden beim Import akzeptiert und umgeschrieben
"content" = "text" , kann man auch im einfachen Texteditor mit "suchen und ersetzen" ersetzen,
"creationDate" ebenfalls
"tags" = "folder", hier taucht für mich schon die erste Schwierigkeit vor dem Inhalt stehen eckige Klammern, ich muss die Schreibweise übertragen.

Noch komplizierter für mich wird es mit folgenden Sachen:
2. App:
"rows": [ ] = bedeutet (nächste) Zeile und in dieser Zeile wird dann der Inhalt "text" erfasst, in der 1. App wird die nächste Zeile lediglich mit " \n- " markiert
"checked" = 1 wird ebenfalls in der 1. App durch ein einfaches [x] markiert, "checked"=0 dann ohne [x]

Die restlichen Attribute kann die 1. App nicht verarbeiten, somit muss ich sie löschen
 
Wenn ich das richtig sehe, sollte das kein größeres Problem sein, von App2 zu App1 automatisch zu konvertieren. Die ID dürfte eine UUID ohne "-" sein, App2 dürfte die Zeiten als Unix-Zeitstempel angeben, App1 dagegen im ISO-Format. Der content ist einfach eine Verkettung der rows mit \n- (ja, checked berücksichtigen) und der Wert von folder landet als einziges Element im tags-Array.
 
Es gibt auch XSLT ähnliche Lösungen für JSON.


Das könnte eine einfache Variante sein um ein JSON Konstrukt in ein anderes zu wandeln.
 

Zurück
Oben