Freigeben über


Das JSON-Format in Azure Data Factory and Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Nutzen Sie diesen Artikel, wenn Sie die JSON-Dateien analysieren oder Daten im JSON-Format schreiben möchten.

Das JSON-Format wird für folgende Connectors unterstützt:

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom JSON-Dataset unterstützt werden.

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft des Datasets muss auf Json festgelegt werden. Ja
location Speicherorteinstellungen der Datei(en) Jeder dateibasierte Connector verfügt unter location über seinen eigenen Speicherorttyp und unterstützte Eigenschaften. Informationen hierzu finden Sie im Abschnitt > „Dataset-Eigenschaften“ des Artikels über Connectors. Ja
encodingName Der zu Lesen/Schreiben von Testdateien verwendete Codierungstyp.
Folgende Werte sind zulässig: "UTF-8","UTF-8 without BOM", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258".
Nein
compression Gruppe von Eigenschaften zum Konfigurieren der Dateikomprimierung. Konfigurieren Sie diesen Abschnitt, wenn Sie während der Aktivitätsausführung eine Komprimierung/Dekomprimierung durchführen möchten. Nein
type
(unter compression )
Der zum Lesen und Schreiben von JSON-Dateien verwendete Komprimierungscodec.
Zulässige Werte sind bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy und lz4. Standardmäßig erfolgt keine Komprimierung.
Hinweis: Zurzeit unterstützt die Kopieraktivität nicht „snappy“ und „lz4“, und der Zuordnungsdatenfluss unterstützt nicht „ZipDeflate“, „TarGzip“ und „Tar“.
Beachten Sie, dass bei Verwendung der Kopieraktivität zum Dekomprimieren von ZipDeflate-/TarGzip-/Tar-Dateien und zum Schreiben in den dateibasierten Senkendatenspeicher diese Dateien standardmäßig in den Ordner <path specified in dataset>/<folder named as source compressed file>/ extrahiert werden. Verwenden Sie in diesem Fall preserveZipFileNameAsFolder/preserveCompressionFileNameAsFolder als Quelle der Kopieraktivität, um zu steuern, ob der Name der komprimierten Dateien als Ordnerstruktur beibehalten werden soll.
Nein.
level
(unter compression )
Das Komprimierungsverhältnis.
Zulässige Werte sind Optimal oder Sehr schnell.
- Sehr schnell: Der Komprimierungsvorgang wird schnellstmöglich abgeschlossen, auch wenn die resultierende Datei nicht optimal komprimiert ist.
- Optimal: Die Daten sollten optimal komprimiert sein, auch wenn der Vorgang eine längere Zeit in Anspruch nimmt. Weitere Informationen finden Sie im Thema Komprimierungsstufe .
Nein

Nachfolgend sehen Sie ein Beispiel für ein JSON-Dataset in Azure Blob Storage:

{
    "name": "JSONDataset",
    "properties": {
        "type": "Json",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "compression": {
                "type": "gzip"
            }
        }
    }
}

Eigenschaften der Kopieraktivität

Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der JSON-Quelle und -Senke unterstützt werden.

Unter Schema- und Datentypzuordnung in Kopieraktivität erfahren Sie, wie Sie Daten aus JSON-Dateien extrahieren und dem Senkendatenspeicher/-format zuordnen (oder umgekehrt).

JSON als Quelle

Die folgenden Eigenschaften werden im Abschnitt *source* der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Source festgelegt werden. Ja
formatSettings Eine Gruppe von Eigenschaften. Weitere Informationen zu JSON-Leseeinstellungen finden Sie in der Tabelle unten. Nein
storeSettings Eine Gruppe von Eigenschaften für das Lesen von Daten aus einem Datenspeicher. Jeder dateibasierte Connector verfügt unter storeSettings über eigene unterstützte Leseeinstellungen. Informationen hierzu finden Sie im Abschnitt über die >Eigenschaften der Copy-Aktivität im Artikel über Connectors. Nein

Unterstützte JSON-Leseeinstellungen unter formatSettings:

Eigenschaft Beschreibung Erforderlich
type Der Typ von „formatSettings“ muss auf JsonReadSettings festgelegt werden. Ja
compressionProperties Eine Gruppe von Eigenschaften zur Festlegung, wie Daten bei einem bestimmten Komprimierungscodec dekomprimiert werden können. Nein
preserveZipFileNameAsFolder
(unter compressionProperties->type als ZipDeflateReadSettings)
Diese Eigenschaft gilt, wenn das Eingabedataset mit der ZipDeflate-Komprimierung konfiguriert wurde. Sie gibt an, ob der Name der ZIP-Quelldatei während Kopiervorgängen als Ordnerstruktur beibehalten werden soll.
– Lautet der Wert true (Standard) , schreibt der Dienst die entpackten Dateien in <path specified in dataset>/<folder named as source zip file>/.
– Lautet der Wert false, schreibt der Dienst die entpackten Dateien direkt in <path specified in dataset>. Stellen Sie sicher, dass es in unterschiedlichen ZIP-Quelldateien keine doppelten Dateinamen gibt, um Racebedingungen oder unerwartetes Verhalten zu vermeiden.
Nein
preserveCompressionFileNameAsFolder
(unter compressionProperties->type als TarGZipReadSettings oder TarReadSettings)
Gilt, wenn das Eingabedataset mit der Komprimierung TarGzip/Tar konfiguriert wurde. Gibt an, ob der Name der komprimierten Quelldatei während Kopiervorgängen als Ordnerstruktur beibehalten werden soll.
– Lautet der Wert true (Standard) , schreibt der Dienst die dekomprimierten Dateien in <path specified in dataset>/<folder named as source compressed file>/.
– Lautet der Wert false, schreibt der Dienst die dekomprimierten Dateien direkt in <path specified in dataset>. Stellen Sie sicher, dass es in unterschiedlichen Quelldateien keine doppelten Dateinamen gibt, um Racebedingungen oder unerwartetes Verhalten zu vermeiden.
Nein

JSON als Senke

Die folgenden Eigenschaften werden im Abschnitt *sink* der Kopieraktivität unterstützt.

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf JSONSink festgelegt werden. Ja
formatSettings Eine Gruppe von Eigenschaften. Weitere Informationen zu JSON-Schreibeinstellungen finden Sie in der Tabelle unten. Nein
storeSettings Eine Gruppe von Eigenschaften für das Schreiben von Daten in einen Datenspeicher. Jeder dateibasierte Connector verfügt unter storeSettings über eigene unterstützte Schreibeinstellungen. Informationen hierzu finden Sie im Abschnitt über die >Eigenschaften der Copy-Aktivität im Artikel über Connectors. Nein

Unterstützte JSON-Schreibeinstellungen unter formatSettings:

Eigenschaft Beschreibung Erforderlich
type Der Typ von „formatSettings“ muss auf JsonWriteSettings festgelegt werden. Ja
filePattern Geben Sie das Muster der in jeder JSON-Datei gespeicherten Daten an. Zulässige Werte sind setOfObjects (JSON-Zeilen) und arrayOfObjects. Der Standardwert ist setOfObjects. Weitere Informationen zu diesen Mustern finden Sie im Abschnitt JSON-Dateimuster. Nein

JSON-Dateimuster

Beim Kopieren von Daten aus JSON-Dateien kann die Kopieraktivität die folgenden Muster von JSON-Dateien automatisch erkennen und analysieren. Beim Schreiben von Daten in JSON-Dateien können Sie das Dateimuster für die Senke der Kopieraktivität konfigurieren.

  • Typ I: setOfObjects

    Jede Datei enthält ein einzelnes Objekt, JSON-Zeilen oder verkettete Objekte.

    • JSON-Beispiel mit einzelnem Objekt

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      
    • JSON-Zeilen (Standard bei Senke)

      {"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"}
      {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"}
      {"time":"2015-04-29T07:13:21.4370000Z","callingimsi":"466923101048691","callingnum1":"678901578","callingnum2":"345626404","switch1":"Germany","switch2":"UK"}
      
    • JSON-Beispiel mit Verkettung

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      {
          "time": "2015-04-29T07:13:21.0220000Z",
          "callingimsi": "466922202613463",
          "callingnum1": "123436380",
          "callingnum2": "789037573",
          "switch1": "US",
          "switch2": "UK"
      }
      {
          "time": "2015-04-29T07:13:21.4370000Z",
          "callingimsi": "466923101048691",
          "callingnum1": "678901578",
          "callingnum2": "345626404",
          "switch1": "Germany",
          "switch2": "UK"
      }
      
  • Typ II: arrayOfObjects

    Jede Datei enthält ein Array von Objekten.

    [
        {
            "time": "2015-04-29T07:12:20.9100000Z",
            "callingimsi": "466920403025604",
            "callingnum1": "678948008",
            "callingnum2": "567834760",
            "switch1": "China",
            "switch2": "Germany"
        },
        {
            "time": "2015-04-29T07:13:21.0220000Z",
            "callingimsi": "466922202613463",
            "callingnum1": "123436380",
            "callingnum2": "789037573",
            "switch1": "US",
            "switch2": "UK"
        },
        {
            "time": "2015-04-29T07:13:21.4370000Z",
            "callingimsi": "466923101048691",
            "callingnum1": "678901578",
            "callingnum2": "345626404",
            "switch1": "Germany",
            "switch2": "UK"
        }
    ]
    

Eigenschaften von Mapping Data Flow

Bei Zuordnungsdatenflüssen können Sie in den folgenden Datenspeichern das JSON-Format lesen und schreiben: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 und SFTP. Darüber hinaus können Sie das JSON-Format in Amazon S3 lesen.

Quelleigenschaften

In der folgenden Tabelle sind die von einer JSON-Quelle unterstützten Eigenschaften aufgeführt. Sie können diese Eigenschaften auf der Registerkarte Quelloptionen bearbeiten.

Name BESCHREIBUNG Erforderlich Zulässige Werte Datenflussskript-Eigenschaft
Platzhalterpfade Alle Dateien, die dem Platzhalterpfad entsprechen, werden verarbeitet. Überschreibt den Ordner und den Dateipfad, die im Dataset festgelegt sind. nein String[] wildcardPaths
Partitionsstammpfad Für partitionierte Dateidaten können Sie einen Partitionsstammpfad eingeben, um partitionierte Ordner als Spalten zu lesen. nein String partitionRootPath
Liste mit den Dateien Gibt an, ob Ihre Quelle auf eine Textdatei verweist, in der die zu verarbeitenden Dateien aufgelistet sind. nein true oder false fileList
Spalte, in der der Dateiname gespeichert wird Erstellt eine neue Spalte mit dem Namen und Pfad der Quelldatei. nein String rowUrlColumn
Nach Abschluss Löscht oder verschiebt die Dateien nach der Verarbeitung. Dateipfad beginnt mit dem Containerstamm nein Löschen: true oder false
Verschieben: ['<from>', '<to>']
purgeFiles
moveFiles
Nach der letzten Änderung filtern Filtern Sie Dateien nach dem Zeitpunkt ihrer letzten Änderung. nein Zeitstempel modifiedAfter
modifiedBefore
Einzelnes Dokument Zuordnungsdatenflüsse lesen aus jeder Datei ein JSON-Dokument. nein true oder false singleDocument
Spaltennamen ohne Anführungszeichen Wenn Spaltennamen ohne Anführungszeichen ausgewählt ist, liest Mapping Data Flow JSON-Spalten, die nicht in Anführungszeichen eingeschlossen sind. nein true oder false unquotedColumnNames
Mit Kommentaren Wählen Sie Mit Kommentaren aus, wenn die JSON-Daten Kommentare im C- oder C++-Stil enthalten. nein true oder false asComments
Einfache Anführungszeichen Liest JSON-Spalten, die nicht in Anführungszeichen eingeschlossen sind. nein true oder false singleQuoted
Umgekehrter Schrägstrich mit Escapezeichen Wählen Sie Umgekehrter Schrägstrich mit Escapezeichen aus, wenn in den JSON-Daten umgekehrte Schrägstriche als Escapezeichen verwendet werden. nein true oder false backslashEscape
Finden keiner Dateien zulässig „true“ gibt an, dass kein Fehler ausgelöst wird, wenn keine Dateien gefunden werden. nein true oder false ignoreNoFilesFound

Inline-Dataset

Zuordnungsdatenflüsse unterstützen „Inline-Datasets“ als Option zum Definieren Ihrer Quelle und Senke. Ein JSON-Inline-Dataset wird direkt in Ihren Quell- und Senkentransformationen definiert und außerhalb des definierten Dataflows nicht freigegeben. Es ist nützlich, um Dataset-Eigenschaften direkt in Ihrem Datenfluss zu parametrisieren und kann von einer verbesserten Leistung gegenüber freigegebenen ADF-Datasets profitieren.

Wenn Sie eine große Anzahl von Quellordnern und -dateien lesen, können Sie die Leistung der Erkennung von Datenflussdateien verbessern, indem Sie die Option „Vom Benutzer projiziertes Schema“ im Dialogfeld für Schemaoptionen unter „Projektion“ aktivieren. Diese Option deaktiviert die standardmäßige automatische Schemaerkennung von ADF und verbessert die Leistung der Dateierkennung erheblich. Bevor Sie diese Option festlegen, müssen Sie die JSON-Projektion importieren, damit ADF über ein vorhandenes Schema für die Projektion verfügt. Diese Option funktioniert nicht mit Schemaabweichung.

Quellformatoptionen

Wenn Sie ein JSON-Dataset als Quelle in Ihrem Datenfluss verwenden, können Sie fünf weitere Einstellungen festlegen. Diese Einstellungen befinden sich auf der Registerkarte Quell Optionen unter dem Wert für JSON-Einstellungen. Für die Einstellung Dokument-Formular können Sie den Typ einzelnes Dokument, Dokument pro Zeile oder ein Array von Dokumenten auswählen.

JSON-Einstellungen

Standard

JSON-Daten werden standardmäßig im folgenden Format gelesen.

{ "json": "record 1" }
{ "json": "record 2" }
{ "json": "record 3" }

Einzelnes Dokument

Wenn Einzelnes Dokument ausgewählt ist, liest Mapping Data Flow ein einzelnes JSON-Dokument aus jeder Datei.

File1.json
{
    "json": "record 1"
}
File2.json
{
    "json": "record 2"
}
File3.json
{
    "json": "record 3"
}

Wenn Dokument pro Zeile ausgewählt ist, wird von Zuordnungsdatenflüssen jeweils ein einzelnes JSON-Dokument aus jeder Zeile einer Datei gelesen.

File1.json
{"json": "record 1"}

File2.json
 {"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"}
 {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"}

File3.json
 {"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"}
 {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"}
 {"time":"2015-04-29T07:13:21.4370000Z","callingimsi":"466923101048691","callingnum1":"678901578","callingnum2":"345626404","switch1":"Germany","switch2":"UK"}

Wenn Array von Dokumenten ausgewählt ist, wird von Zuordnungsdatenflüssen ein einzelnes Array von Dokument aus einer Datei gelesen.

File.json
[
        {
            "time": "2015-04-29T07:12:20.9100000Z",
            "callingimsi": "466920403025604",
            "callingnum1": "678948008",
            "callingnum2": "567834760",
            "switch1": "China",
            "switch2": "Germany"
        },
        {
            "time": "2015-04-29T07:13:21.0220000Z",
            "callingimsi": "466922202613463",
            "callingnum1": "123436380",
            "callingnum2": "789037573",
            "switch1": "US",
            "switch2": "UK"
        },
        {
            "time": "2015-04-29T07:13:21.4370000Z",
            "callingimsi": "466923101048691",
            "callingnum1": "678901578",
            "callingnum2": "345626404",
            "switch1": "Germany",
            "switch2": "UK"
        }
    ]

Hinweis

Wenn Datenflüsse bei der Vorschau Ihrer JSON-Daten einen Fehler zu einem „beschädigten Datensatz“ (corrupt_record) ausgeben, ist es wahrscheinlich, dass die Daten ein einzelnes Dokument in der JSON-Datei enthalten. Durch Festlegen von „einzelnes Dokument“ sollte sich dieser Fehler beseitigen lassen.

Spaltennamen ohne Anführungszeichen

Wenn Spaltennamen ohne Anführungszeichen ausgewählt ist, liest Mapping Data Flow JSON-Spalten, die nicht in Anführungszeichen eingeschlossen sind.

{ json: "record 1" }
{ json: "record 2" }
{ json: "record 3" }

Mit Kommentaren

Wählen Sie Mit Kommentaren aus, wenn die JSON-Daten Kommentare im C- oder C++-Stil enthalten.

{ "json": /** comment **/ "record 1" }
{ "json": "record 2" }
{ /** comment **/ "json": "record 3" }

Einfache Anführungszeichen

Wählen Sie Einfache Anführungszeichen aus, wenn für JSON-Felder und -Werte einfache Anführungszeichen anstelle von doppelten Anführungszeichen verwendet werden.

{ 'json': 'record 1' }
{ 'json': 'record 2' }
{ 'json': 'record 3' }

Umgekehrter Schrägstrich mit Escapezeichen

Wählen Sie Umgekehrter Schrägstrich mit Escapezeichen aus, wenn in den JSON-Daten umgekehrte Schrägstriche als Escapezeichen verwendet werden.

{ "json": "record 1" }
{ "json": "\} \" \' \\ \n \\n record 2" }
{ "json": "record 3" }

Senkeneigenschaften

In der folgenden Tabelle sind die von einer JSON-Senke unterstützten Eigenschaften aufgeführt. Sie können diese Eigenschaften auf der Registerkarte Einstellungen bearbeiten.

Name BESCHREIBUNG Erforderlich Zulässige Werte Datenflussskript-Eigenschaft
Ordner löschen Wenn der Zielordner vor dem Schreiben gelöscht wird. nein true oder false truncate
Dateinamenoption Das Namensformat der geschriebenen Daten. Standardmäßig eine Datei pro Partition im Format part-#####-tid-<guid>. Nein Muster: Zeichenfolge
Pro Partition: Zeichenfolge[]
Als Daten in Spalte: Zeichenfolge
Ausgabe in eine einzelne Datei: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames

Erstellen von JSON-Strukturen in abgeleiteten Spalten

Sie können Ihrem Datenfluss eine komplexe Spalte über den Ausdrucks-Editor für abgeleitete Spalten hinzufügen. Fügen Sie in der Transformation für abgeleitete Spalten eine neue Spalte hinzu, und öffnen Sie den Ausdrucks-Generator, indem Sie auf das blaue Feld klicken. Um eine Spalte komplex zu gestalten, können Sie die JSON-Struktur manuell eingeben oder die Benutzeroberfläche verwenden, um Unterspalten interaktiv hinzuzufügen.

Verwenden der Benutzeroberfläche des Ausdrucks-Generators

Zeigen Sie im Seitenbereich des Ausgabeschemas mit dem Mauszeiger auf eine Spalte, und klicken Sie auf das Pluszeichen. Wählen Sie Unterspalte hinzufügen aus, um die Spalte als komplexen Typ zu gestalten.

Hinzufügen einer Unterspalte

Sie können weitere Spalten und Unterspalten auf die gleiche Weise hinzufügen. Im Ausdrucks-Editor auf der rechten Seite kann für jedes nicht komplexe Feld ein Ausdruck hinzugefügt werden.

Hinzufügen einer komplexen Spalte

Manuelles Eingeben der JSON-Struktur

Zum manuellen Hinzufügen einer JSON-Struktur fügen Sie eine neue Spalte hinzu, und geben Sie den Ausdruck im Editor ein. Der Ausdruck weist das folgende allgemeine Format auf:

@(
    field1=0,
    field2=@(
        field1=0
    )
)

Wenn dieser Ausdruck für eine Spalte mit dem Namen „complexColumn“ eingegeben wird, wird er als der folgende JSON-Code in die Senke geschrieben:

{
    "complexColumn": {
        "field1": 0,
        "field2": {
            "field1": 0
        }
    }
}

Beispiel für ein manuelles Skript für eine vollständige hierarchische Definition

@(
    title=Title,
    firstName=FirstName,
    middleName=MiddleName,
    lastName=LastName,
    suffix=Suffix,
    contactDetails=@(
        email=EmailAddress,
        phone=Phone
    ),
    address=@(
        line1=AddressLine1,
        line2=AddressLine2,
        city=City,
        state=StateProvince,
        country=CountryRegion,
        postCode=PostalCode
    ),
    ids=[
        toString(CustomerID), toString(AddressID), rowguid
    ]
)

Hier sind einige gängige Connectors und Formate im Zusammenhang mit dem JSON-Format aufgeführt: