Verwendung des JSON-Parsers zum Parsen einer JSON-Zeichenfolge in ein JSON-Objekt
Mit dem JSON-Parser können Sie Daten aus einer Zeichenkette, die im JSON-Format geschrieben ist, in ein JSON-Objekt umwandeln, das die Zeichenkette darstellt. Der JSON-Parser erzeugt ein Schema mit Schlüsseln, die in die Liste der Felder aufgenommen werden, die für die Zuordnung zu späteren Knoten im Datenfluss zur Verfügung stehen.
Wenn Sie ereignisgesteuerte oder API-Abläufe in App Connect erstellen, verwenden Sie in der Regel die Antwort oder Ausgabe eines Ereignisses, einer Aktion oder eines Toolbox-Knotens als Eingabe in einer nachfolgenden Aktion, indem Sie die Felder zuordnen. In bestimmten Fällen, in denen Daten unter Verwendung von JavaScript Object Notation (JSON) zurückgegeben werden, werden die Daten als Zeichenkette im JSON-Format bereitgestellt. Um diese Daten in einer nachfolgenden Aktion zuzuordnen, müssen Sie zunächst den integrierten JSON-Parser von App Connect verwenden, um die Daten in ein JSON-Objekt zu konvertieren, das die Zeichenfolge darstellt.
Das Schema, das der JSON-Parser generiert, wird als standardmäßiger Satz von durch Komma getrennten Schlüssel- und Wertepaaren formatiert, die von geschweiften Klammern umgeben sind {}. Die Schlüssel sind als Strings definiert, und ihre Werte können einer der folgenden gültigen JSON-Datentypen sein: String, Zahl, Objekt, Array, Boolean oder Null. Wenn diese Schlüssel generiert werden, werden sie in die Liste der Felder aufgenommen, die für die Zuordnung verfügbar sind, wenn Sie in einem nachfolgenden
Schritt auf „Zuordnung einfügen“ klicken.
Definieren der zu parsenden Daten und Generieren eines gültigen JSON-Schemas
Sie können den JSON-Parser verwenden, um JSON-Strings aus verschiedenen Anwendungen zu analysieren. In einem typischen Anwendungsfall wird jedoch eine HTTP invoke action verwendet, um eine GET-, POST-, PUT-, PATCH-, DELETE- oder HEAD-Anfrage zu stellen, die eine Antwort von einem HTTP -Endpunkt zurückgibt.
Das folgende Beispiel zeigt eine HTTP invoke action innerhalb eines Multi-Node-Flows. Hier wird ein GET-Aufruf an einen HTTP Client Testing Service unter http://httpbin.org.

Um die Antwort-Header und den Antwort-Body für die Zuordnung in einer nachfolgenden Aktion verfügbar zu machen, müssen Sie einen JSON-Parser-Knoten einfügen, bevor Sie die Aktion hinzufügen. Anschließend können Sie den Knoten verwenden, um die Daten zu definieren, die Sie analysieren möchten, und um ein gültiges JSON-Schema zu generieren. Sie können den Knoten mit den folgenden Schritten einfügen und konfigurieren:
- Klicken Sie auf das (+), gehen Sie zur Registerkarte Toolbox und klicken Sie dann auf JSON-Parser.
Abbildung 2: Auswahl des JSON-Parsers auf der Registerkarte Toolbox 
- Verwenden Sie das JSON-Eingabefeld, um anzugeben, welche Daten aus der vorherigen Aktion oder dem vorherigen Ereignis geparst werden müssen.
Sie können das JSON -Eingabefeld auf folgende Weise ausfüllen.- Sie können Felder zuordnen, die in der Liste der verfügbaren Eingaben angezeigt werden, indem Sie auf „Zuordnung einfügen “
klicken.Abb. 3 JSON Input-Eintrag, der ein zugeordnetes Feld anzeigt 
- Sie können Text mit zugeordneten Feldern kombinieren.
Abbildung 4. JSON-Eingabe, die eine Kombination aus Text und zugeordneten Feldern zeigt 
Abbildung 5. JSON-Eingabe, die eine andere Kombination aus Text und zugeordneten Feldern zeigt 
- Bei der Auflösung muss der Eintrag im JSON-Eingabefeld gültiges JSON ergeben. Um Laufzeitfehler zu vermeiden, muss jedes zugeordnete Feld, das Sie aus einem vorangegangenen Ereignis oder einer vorangegangenen Aktion einbinden, einen Wert haben, der in eine gültige Eingabe umgewandelt werden kann. Je nach Datentyp des zugeordneten Feldes müssen Sie es möglicherweise auch in doppelte Anführungszeichen oder geschweifte Klammern einschließen
{}.- Wenn die
Response bodyfür eine vorherige Aktion „ HTTP “ im JSON-Format als zurückgegeben{"name":"Bob", "age":"99"}wurde, wird ein{"responseBody": Response body}JSON -Eingabeeintrag von in das folgende gültige JSON aufgelöst{"responseBody": {"name":"Bob", "age":"99″}} - Wenn die
Response bodyfür eine frühere Aktion HTTP im Klartext alsBlobzurückgegeben wurde, erzeugt ein JSON-Eingabeeintrag von{"responseBody": Response body}ungültiges JSON:{"responseBody": Blob}Damit das JSON gültig ist, muss der JSON-Eingabeeintrag als
{"responseBody": "Response body"}angegeben werden, d. h.Response bodymuss in doppelte Anführungszeichen gesetzt werden. Das JSON wird als gültig angesehen, auch wenn keine Antwort zurückgegeben wurde, da der JSON-Eingabeeintrag in{"responseBody": ""}aufgelöst wird. - Wenn das
Request headers (JSON format)Feld für eine vorherige Aktion „ HTTP “ keinen Wert enthält, wird einRequest headers (JSON format)JSON -Eingabeeintrag in einen leeren Wert aufgelöst. - Wenn das
Request headers (JSON format)Feld für eine vorherige Aktion „ HTTP “ keinen Wert enthält, erzeugt ein{"headers": Request headers (JSON format)}JSON -Eingabeeintrag „“ ungültiges JSON:{"headers":}Damit die JSON-Datei gültig ist, muss der JSON -Eingabeeintrag wie folgt angegeben werden:
{"headers": {Request headers (JSON format)}}(d. h.,Request headers (JSON format)muss in geschweiften Klammern stehen).
- Wenn die
- Sie können Felder zuordnen, die in der Liste der verfügbaren Eingaben angezeigt werden, indem Sie auf „Zuordnung einfügen “
- Erweitern Sie den Abschnitt „Ausgabeschema“ und geben Sie im Feld „Beispiel-JSON“ ein Beispiel für die JSON-Datei an, die Sie als Ergebnis erwarten (und die in ein JSON-Objekt konvertiert werden muss). Das folgende Beispiel zeigt ein JSON-Beispiel aus einem GET-Aufruf an den zuvor erwähnten HTTP Client Testing Service ( http://httpbin.org/get ).
Abbildung 6. Beispiel JSON-Feld
Sie können das JSON-Beispielfeld auf folgende Weise konfigurieren.- Sie können beispielsweise eine Beispielantwort kopieren, die ein Webserver oder API-Aufruf zurückgibt, und sie in dieses Feld einfügen.
- Sie können eine JSON-Zeichenkette direkt in dieses Feld eingeben. Beispiel:
{"name":"Bob","age":"99″} - Das JSON-Beispielfeld kann bis zu 16.000 Zeichen enthalten. Diese Funktion ist nur für kleinere API-Antworten vorgesehen, da die Schemaerstellung ressourcenintensiv sein und zu Leistungsproblemen führen kann. Für größere Antworten stehen externe Tools zur Verfügung, die Sie bei Bedarf zur Schemaerstellung verwenden können. Wenn das Schema erstellt ist, können Sie es direkt in das JSON-Schema-Feld einfügen (siehe nächster Schritt).
- Um das "Beispiel-JSON" in ein JSON-Objekt umzuwandeln, klicken Sie auf Schema generieren. Das Ergebnis können Sie im Feld JSON-Schema sehen.
Abbildung 7. Das generierte JSON-Schema für einen Flow mit einem JSON-Parser-Knoten
Tipp: Sie können alternativ den Schritt der Schemaerstellung umgehen und ein gültiges Schema direkt in das Feld JSON-Schema eingeben.
Wenn Sie eine weitere Zielanwendung und eine entsprechende Aktion zum Ablauf hinzufügen, können Sie die Schlüssel im JSON-Schema als Felder sehen, denen Sie eine Zuordnung vornehmen können.