Welches Format für den generischen JSON-Import?

Ich habe versucht, meine Daten nur über die API zu importieren, aber es scheint, dass die empfohlene Methode die Verwendung eines Importers ist. Meine Daten stammen eigentlich aus einem ListServ-RSS-Feed, den ich in JSON konvertiert habe.

Aus einer Suche nach dem Problem geht hervor, dass das Format, in dem meine Daten vorliegen müssen, so aussieht:

    "topics": [
      {
        "id": 1,
        "title": "Der Titel",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "body": "Der Inhalt",
            "date": "Das Datum",
            "author": "Benutzername"
          }
        ]
      }
    ]
  }

Erste Frage: Ist dies das korrekte Format für json_generic?
Zweite Frage: Gibt es weitere Informationen dazu, wie man dies verwendet?

Wenn du Zugriff auf die mbox-Dateien hast, wird das viel einfacher.

Das generische Import-Skript ist genau das: Du musst den Code überprüfen, um zu sehen, was es erwartet, und entweder den Code oder deine Daten anpassen, damit sie übereinstimmen.

Der entscheidende Teil befindet sich hier:

Ich glaube nicht, dass ich Zugriff auf die mbox-Dateien habe. Ich bin Abonnent und habe nur einige E-Mails aus der Gruppe. Ich habe diesen Weg bereits versucht. Das System befindet sich in einem anderen Branch, und ich versuche, Discourse für unsere Organisation vorzustellen.

Können Sie bestätigen, dass meine JSON-Struktur – abgesehen von einigen Feldern – korrekt aussieht?

Auf den ersten Blick sieht es so aus, als wärst du auf dem richtigen Weg. Du musst natürlich die Feldnamen korrekt angeben. Und damit es funktioniert, müssen die Benutzer importiert werden.

Ich habe die Benutzer bereits über die API importiert. Bei diesem Fall hatte ich wohl Glück. Der Inhalt besteht nicht die Validierungen, und soweit ich sehe, kann ich sie nicht deaktivieren, nur um meine JSON-Datei an mein lokales Discourse zu senden.

Jeder Beitrag muss vermutlich die userId von Discourse abrufen. Klingt das richtig, oder gibt es einen anderen Ansatz?

Sie sollten von vorne beginnen und das Skript die Benutzer anlegen lassen. Für die Benutzerabfragen wird die Import-ID in einem benutzerdefinierten Feld benötigt.

Da ich die Benutzer neu anlegen muss, würde das funktionieren? In diesem Beispiel erstellt Benutzer 1 (John Doe) Topic 1, „The Title“, und dieses Topic enthält einen Beitrag von John Doe mit dem Inhalt „Body“?

Wenn das korrekt ist, wie verwende ich das json_generic-Skript, um den Prozess zu starten? Ich bin beim nächsten Schritt des Prozesses etwas verwirrt.

  "topics": [
      {
        "id": 1,
        "user_id": "1",
        "title": "The title",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "user_id": "1",
            "body": "The body",
            "date": "The date",
            "author": "username"
          }
        ]
      }
    ],
  "users": [
       {
    "id": "1",      
    "name": "John Doe",
    "email": "John_Doe@wahoo.com",
    "password": "asfd9!t",
    "username": "John Doe",
    "active": true,
    "approved": true
  },  

]
  }