Beispiele für JSON-Dateiimport

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Diese Beispiele zeigen, wie verschiedene Arten von JSON-Daten und der erforderliche Pfad für jede Zeile importiert werden. Von Ihnen importierte JSON-Dateien müssen diesen Richtlinien entsprechen.

    Eine Schritt-für-Schritt-Anweisung zum Erstellen einer Datenquelle vom Typ „Datei“ finden Sie unter Erstellen Sie eine Datenquelle vom Typ Datei.

    • Bei JSON -Arrays muss der Pfad für jede Zeile das Array-Stammelement zweimal angeben, z. B. /incidents/incidents.
    • JSON -Dateien müssen RFC-4627entsprechen. Beispielsweise sollte ein einzelnes Komma einen Wert vom folgenden Namen trennen. Namen innerhalb eines Objekts müssen eindeutig sein.
    • Prädikate wie @element, [index]oder text()sowie Achsen wie untergeordnete Elemente, gleichgeordnete Elemente oder Vorgängerelemente werden nicht unterstützt.

    Einfaches Array

    • Pfad für jede Zeile: /incidents/incidents
    • Ergebnis: 2 Datensätze
    In diesem Beispiel enthält der Pfad für jede Zeile den Array-Wurzelknoten /incidents zweimal. Dies ist beim Importieren eines Arrays erforderlich.
    {  
       "source":"HI",
       "incidents":[  
          {  
             "number":"INC0000001",
             "short_description":"Can't read email"
          },
          {  
             "number":"INC0000002",
             "short_description":"Error loading XML file"
          }
       ]
    }
    

    Array in 2. Ebene

    • Pfad für jede Zeile: /problems/data/data
    • Ergebnis: 3 Datensätze
    In diesem Beispiel enthält der Pfad für jede Zeile den Array-Stammknoten /data zweimal.
    {  
       "problems":{  
          "id":"0",
          "data":[  
             {  
                "number":"PRBTEST001",
                "short_description":"testsd1"
             },
             {  
                "number":"PRBTEST002",
                "short_description":"testsd2"
             },
             {  
                "number":"PRBTEST003",
                "short_description":"testsd3"
             }
          ]
       }
    }
    

    Geschachteltes Array

    • Pfad für jede Zeile: /problems/problems/data/data
    • Ergebnis: 3 Datensätze
    In diesem Beispiel enthält der Pfad für jede Zeile die Stammknoten für beide Arrays zweimal, /problems und /data.
    {  
       "problems": [  
             {
          "id":0,
          "data":[  
                {  
                   "number":"PRBTEST001",
                   "short_description":"testsd1"
                },
                {  
                   "number":"PRBTEST002",
                   "short_description":"testsd2"
                },
                {  
                   "number":"PRBTEST003",
                   "short_description":"testsd3"
                }
              ]
           }
        ]	
    }
    

    Untergeordnete (geschachtelte) Arrays unterstützen

    Standardmäßig unterstützt der Import keine untergeordneten (verschachtelten) Arrays. Sie können den Support aktivieren, indem Sie in der Ansicht „Datenquelle“ das Kontrollkästchen Arrays verwerfen deaktivieren. In der folgenden Tabelle werden verschiedene Verhaltensweisen beim Aktivieren und Deaktivieren der Unterstützung für untergeordnete Arrays beschrieben.

    { 
      "response":{
        "docs":[ 
          { 
            "id":"id_val",
            "childrenArray":[1,2,3],
            "anotherArray":[{"key1":"value1"}, {"key1": "value2"}],
            "elementWithArray":{"childrenArray":[1,2,3]}
          }
        ]
      }
    }
    
    Tabelle : 1. Verhalten von untergeordneten Arrays
    Pfad Arrays verwerfen aktiviert Arrays verwerfen deaktiviert
    /response/docs/docs Erstellt einen Datensatz mit den folgenden Spalten und Werten:
    • ID: id_val
    • elementWithArray: {}
    Alle in einem Datensatz gefundenen Arrays, z. B. childArray oder ein anderesArray, werden nicht als Spalten in der Importtabelle erstellt.
    Erstellt einen Datensatz mit den folgenden Spalten und Werten:
    • ID: id_val
    • childArray: [1, 2, 3]
    • weiterenArray : [{"key1" : "value1"}, {"key1" : "value2"}]
    • elementWithArray: {"childrenArray": [1, 2, 3]}
    /response/docs/docs/anotherArray/anotherArray Erstellt zwei Datensätze mit jeweils einer Spalte: key1. Erstellt zwei Datensätze mit jeweils einer Spalte: key1.
    /response/docs/docs/childrenArray/childrenArray Funktioniert nicht und gibt den Fehler „Pfad sollte immer auf JSON-Objekte verweisen“ zurück, da die Werte im Array nicht in einer Schlüssel-Wert-Struktur vorliegen. Funktioniert nicht und gibt den Fehler „Pfad sollte immer auf JSON-Objekte verweisen“ zurück, da die Werte im Array nicht in einer Schlüssel-Wert-Struktur vorliegen.

    Verwaistes Array

    • Pfad für jede Zeile: //
    • Ergebnis: 2 Datensätze
    [  
       {  
          "number":"PRBTEST001",
          "short_description":"testsd1"
       },
       {  
          "number":"PRBTEST002",
          "short_description":"testsd2"
       }
    ]
    

    Mehrere Elemente anstelle eines Arrays

    • Pfad für jede Zeile: /problems/problem
    • Ergebnis: 3 Datensätze
    Wichtig:
    Dieses Format wird nicht empfohlen. JSON-Dateien sollten RFC-4627 entsprechen, der besagt, dass Namen innerhalb eines Objekts eindeutig sein müssen. Verwenden Sie stattdessen JSON-Arrays.
    {  
       "problems":{  
          "title":"2 problems",
          "problem":{  
             "number":"PRBTEST001",
             "short_description":"testsd1"
          },
          "problem":{  
             "number":"PRBTEST002",
             "short_description":"testsd2"
          }
       },
       "problems":{  
          "title":"1 problem",
          "problem":{  
             "number":"PRBTEST005",
             "short_description":"testsd5"
          }
       }
    }