Beispiele für JSON-Dateiimport

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Diese Beispiele zeigen, wie verschiedene Arten von JSON-Daten und der erforderliche Pfad für jede Zeile importiert werden. JSON-Dateien, die Sie importieren, sollten diesen Richtlinien entsprechen.

    Eine Schritt-für-Schritt-Anleitung zum Erstellen einer Dateityp-Datenquelle finden Sie unter Erstellen Sie eine Datenquelle vom Typ Datei.

    • Für JSON -Arrays muss der Pfad für jede Zeile das Array-Stammelement zweimal angeben, z. B. /incidents/incidents.
    • JSON Dateien müssen RFC-4627 entsprechen. Zum Beispiel 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 Vorfahren 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-Stammknoten /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: /probleme/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"
                }
              ]
           }
        ]	
    }
    

    Unterstützende untergeordnete (geschachtelte) Arrays

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

    { 
      "response":{
        "docs":[ 
          { 
            "id":"id_val",
            "childrenArray":[1,2,3],
            "anotherArray":[{"key1":"value1"}, {"key1": "value2"}],
            "elementWithArray":{"childrenArray":[1,2,3]}
          }
        ]
      }
    }
    
    Tabelle : 1. Verhalten des 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 „otherArray“, werden nicht als Spalten in der Importtabelle erstellt.
    Erstellt einen Datensatz mit den folgenden Spalten und Werten:
    • ID: id_val
    • childArray: [1, 2, 3]
    • anotherArray: [{"key1" : "value1"}, {"key1" : "value2"}]
    • elementWithArray: {"childArray": [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 einen Fehler „Pfad sollte immer auf JSON-Objekte verweisen“ zurück, da sich die Werte im Array nicht in einer Schlüssel-Wert-Struktur befinden. Funktioniert nicht und gibt einen Fehler „Pfad sollte immer auf JSON-Objekte verweisen“ zurück, da sich die Werte im Array nicht in einer Schlüssel-Wert-Struktur befinden.

    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 müssen RFC-4627 entsprechen, das 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"
          }
       }
    }