# JSON umschreiben (converter)?



## megusta (29. Sep 2021)

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


----------



## mihe7 (30. Sep 2021)

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.


----------



## M.L. (3. Okt 2021)

Weiterhin könnte JSON-B auch nützlich sein: https://adambien.blog/roller/abien/entry/from_java_object_to_json


----------



## kneitzel (3. Okt 2021)

Es gibt auch XSLT ähnliche Lösungen für JSON.









						XSLT equivalent for JSON
					

Is there an XSLT equivalent for JSON? Something to allow me to do transformations on JSON like XSLT does to XML.




					stackoverflow.com
				




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


----------



## megusta (6. Okt 2021)

kneitzel hat gesagt.:


> Es gibt auch XSLT ähnliche Lösungen für JSON.
> 
> 
> 
> ...


hier werde ich vermutlich fündig!

Vielen Dank an alle!


----------

