Mit dem JSON-Konnektor können Sie Befehle verwenden, um JavaScript Object Notation (JSON) Daten als Teil einer Kette zu transformieren, zu holen und zu konvertieren. Mit diesem Konnektor können Sie beispielsweise Folgendes tun:
- Konvertieren eines JSON-Arrays oder -Objekts in CSV
- CSV-Daten in ein JSON-Array konvertieren
- Parsen von Text als JSON mit einem validierten Schema
Hinweis: Die Befehle mehrerer Konnektoren erzeugen eine JSON-Ausgabe. Um einen JSON-Wert als Zeichenkette, Liste oder JSON zu extrahieren und mit einem späteren Befehl in einer Kette zu verwenden, verwendet eine Variablentransformation.
Voraussetzungen
Für die Verwendung des JSON-Konnektors sind grundlegende Kenntnisse der JSON-Syntax erforderlich.
JSON speichert und überträgt strukturierte Daten - von einer einzelnen Zahl bis hin zu mehreren Zeichenfolgen, Arrays und Objekten - als reinen Text. Eine JSON-Zeichenfolge enthält entweder:
- Ein Array– oder eine Liste von Werten
- Ein Objekt, das ein assoziatives Array von Name/Wert-Paaren enthält
Um komplexe Datenstrukturen zu unterstützen, können Sie Arrays und Objekte in Ihrem JSON verschachteln.
Arrays
In JSON sind Arrays von eckigen Klammern umgeben [] und enthalten eine durch Komma getrennte Liste von Werten:
- Nummern
- Textstrings, umgeben von doppelten Anführungszeichen
"" - Boolesche Werte,
trueoderfalse - Arrays, umgeben von eckigen Klammern
[] - Objekte, umgeben von geschweiften Klammern
{} -
NULLWerte
Ein Array von Wdata-Features wäre zum Beispiel [ "Tabellen", "Abfragen", "Ketten" ].
Objekte
Objekte sind von geschweiften Klammern umgeben {} und enthalten eine durch Komma getrennte Liste von Name/Wert-Paaren. Jedes Paar enthält einen Feldnamen in doppelten Anführungszeichen "", gefolgt von einem Doppelpunkt : und seinem Wert. Objekte unterstützen dieselben Typen und dieselbe Syntax von Werten wie Arrays. Zum Beispiel:
{
"product": "Wdata",
"company": "Workiva".
"features":[
"Tables",
"Queries",
"Chains"
]
} Einrichten des JSON-Konnektors
Hinweis: Um den Konnektor für die Verwendung in den Ketten Ihrer Organisation verfügbar zu machen, muss ein Sicherheitsadministrator der Organisation ihn zunächst aktivieren unter Konfiguration.
- Klicken Sie unter Chain-Generator auf Verbindungen und dann auf Erstellen oben rechts.
- Wählen Sie unter Connector Verbindung, JSON und den Standard-CloudRunner.
- Geben Sie unter Basisinformationen einen eindeutigen Namen und eine Beschreibung ein, um den Konnektor zu identifizieren.
- Wählen Sie die Umgebungen aus, die für die Verbindung verwendet werden sollen, und klicken Sie auf Speichern.
- Um die Verbindung zu testen, erstellen Sie und führen Sie eine Kette mit dem Befehl CSV to JSON des Konnektors aus, und überprüfen Sie, ob eine gültige Ausgabe zurückgegeben wird.
Fehlersuche
Wenn der Befehl Array to CSV des Connectors keine gültige Ausgabe erzeugt, überprüfen Sie die folgenden möglichen Probleme.
Array to CSV ist erfolgreich, aber die Ausgabe enthält keine Daten
Wenn der Befehl Array to CSV eine erfolgreiche Konvertierung anzeigt, aber die Ausgabe keine Daten enthält, stellen Sie sicher, dass die Eingabedatei Eingabe JSON-Arrays enthält. Dieses JSON würde zum Beispiel keine Details über Fahrräder und Bälle liefern:
{
"store": {
"bicycle": {
"color": "rot",
"preis": 19.95
},
"ball": {
"color": "blau",
"preis": 21.95
}
}
} Um stattdessen Details zu Fahrrädern und Bällen zurückzugeben, umschließen Sie die Details mit eckigen Klammern [], wie ein Array. Zum Beispiel:
{
"store": {
"bicycle": [{
"Farbe": "Rot",
"Preis": 19.95
}],
"Ball": [{
"Farbe": "Blau",
"Preis": 21,95
}]
}
} Wurzelarray-Elementpfad nicht gefunden
Wenn die Fehlermeldung Array to CSV lautet: "Error finding the root array element, please check your path: Pfad nicht gefunden", überprüfen Sie, ob der zu isolierende Schlüssel in einem Array ist. Um beispielsweise usageUnit in diesem JSON zu erfassen, geben Sie den JSONPath .pricingInfo[0].pricingExpression.usageUnit als Path to Root input des Befehls ein:
{
"skus": [{
"skuId": "0033-4F4C-36F1",
"description": "Long Term Storage (us-east4)",
"category": {
"serviceDisplayName": "BigQuery",
"usageType": "OnDemand"
},
"serviceRegions": [
"us-east4"
],
"pricingInfo": [{
"summary": "",
"pricingExpression": {
"usageUnit": "GiBy.mo",
"displayQuantity": 1,
"tieredRates": [{
"startUsageAmount": 0,
"unitPrice": {
"currencyCode": "USD",
"units": "0"
}
}]
},
"currencyConversionRate": 1,
"effectiveTime": "2019-08-18T02:30:55.193Z"
}],
"serviceProviderName": "Google"
}]
}