- Überblick
- Kryptografie
- Datenbank
- Java
- Python
- WebAPI
- Versionshinweise
- Über das WebAPI-Aktivitätspaket
- Projektkompatibilität
- XML deserialisieren (Deserialize XML)
- XPath ausführen (Execute XPath)
- XML-Knotenattribute erhalten (Get XML Node Attributes)
- XML-Knoten erhalten (Get XML Nodes)
- JSON serialisieren
- Deserialize JSON
- JSON-Zusammenstellung deserialisieren (Deserialize Json Array)
- HTTP Request (legacy)
- HTTP-Anfrage (HTTP Request)
- SOAP-Anfrage (SOAP Request)
UiPath.WebAPI.Activities.DeserializeJson
Beschreibung
Deserialisiert die JSON-Zeichenfolge oder das Beispiel zu einem JSON-Objekt. Standardmäßig ist das Ergebnis ein JObject, aber Sie können mit der Eigenschaft Ausgabetyp einen anderen Ausgabetyp auswählen.
Projektkompatibilität
Windows - Legacy | Windows | Plattformübergreifend
Voraussetzungen
Um die Eigenschaft Serialisierungseinstellungen mithilfe der Datenzuordnung zu konfigurieren, verwenden Sie Studio 25.10 oder höher. In früheren Studio-Versionen verwendet diese Eigenschaft stattdessen das Ausdrucks-Editor- Fenster.
Windows, plattformübergreifende Konfiguration
- JSON String - The string containing the JSON to be deserialized. The JSON should be written without indents, and between double quotes. Strings inside the JSON should be written with single quotes. For example, the following JSON is valid: "{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}".
- JSON-Beispiel – Ein Beispiel für die JSON, die zum Generieren der Eigenschaften des Ausgabeobjekts verwendet wird. Das Beispiel muss im JSON-Format sein. Die Aktivität wandelt dieses Beispiel in ein ähnliches Objekt um, das Sie während der Entwurfszeit verwenden können.
Erweiterte Optionen
Eingabe
- Serialisierungseinstellungen – Benutzerdefinierte Deserialisierungseinstellungen, die beim Deserialisieren des JSON-Strings verwendet werden sollen. Verwenden Sie diese Eigenschaft, wenn Sie vollständig steuern möchten, wie die JSON-Zeichenfolge deserialisiert wird.
- Ausgabetyp – Eine Dropdownliste, in der Sie den Argumenttyp des Objekts auswählen können, in das deserialisiert werden soll.
Hinweis:
In Studio Web wird durch das Generieren der Ausgabestruktur aus der Eigenschaft JSON-Beispiel die Eigenschaft Ausgabetyp schreibgeschützt.
Ausgabe
- JSONObject - Die deserialisierte JSON, zurückgegeben als Objekt des in der Eigenschaft Ausgabetyp ausgewählten Typs. Wenn der Standardtyp verwendet wird, ist das Ergebnis eine
Newtonsoft.Json.Linq.JObject-Variable. Lesen Sie weitere Informationen zuNewtonsoft.Json.Linq.JObject-Objekten.
Beispiel für die Verwendung des JSON-Beispiels
Die Eigenschaft JSON-Beispiel generiert die Ausgabeobjektstruktur zur Entwurfszeit aus einem repräsentativen JSON-Snippet. Nachdem Sie ein Beispiel angegeben haben, leitet die Aktivität einen übereinstimmenden Typ ab und weist ihn der Eigenschaft Ausgabetyp zu, sodass Sie in nachgelagerten Aktivitäten anhand des Namens auf die deserialisierten Werte verweisen können, anstatt sie mit SelectToken abzufragen.
Die Eigenschaft JSON-Beispiel hilft während der Entwurfsphase. Sie ist in Studio Web und in Studio-Versionen verfügbar, die benutzerdefinierte Typinferenz unterstützen. Wenn diese Funktionen nicht verfügbar sind, ist die Eigenschaft ausgeblendet.
Um die Verwendung des JSON-Beispiels zu veranschaulichen, extrahieren wir den Namen und die Stadt einer Person aus einer JSON-Zeichenfolge:
-
Fügen Sie Ihrem Workflow eine Deserialize JSON- Aktivität hinzu.
-
Geben Sie im Feld JSON-String die zu deserialisierende JSON ein. Zum Beispiel:
"{'name': 'John Doe', 'age': 30, 'address': {'city': 'New York'}}". -
Fügen Sie im Feld JSON-Beispiel ein repräsentatives Beispiel mit derselben Struktur ein:
{ "name": "John Doe", "age": 30, "address": { "city": "New York" } }{ "name": "John Doe", "age": 30, "address": { "city": "New York" } }Die Aktivität liest das Beispiel und generiert ein Ausgabeobjekt, das diese Struktur widerspiegelt. Die Eigenschaft Ausgabetyp wird auf den generierten Typ aktualisiert.
-
Verweisen Sie in einer nachfolgenden Aktivität direkt über die in Ihrem Beispiel definierten Eigenschaftsnamen auf die deserialisierten Werte, z. B.
JsonObject.nameundJsonObject.address.city, anstattJsonObject.SelectToken("name")zu verwenden.
Ergebnis
Das Ausgabeobjekt macht die Eigenschaften aus Ihrem Beispiel verfügbar, sodass JsonObject.name John Doe und JsonObject.address.city New York zurückgibt, ohne das JSON mit SelectToken abzufragen.
Beispiel für die Verwendung von Serialisierungseinstellungen
Wenn für die Eigenschaft Serialisierungseinstellungen keine Datenzuordnung verfügbar ist, konfigurieren Sie sie im Ausdrucks-Editor mithilfe eines der folgenden Code-Snippets. Weitere Informationen finden Sie in der Newtonsoft-Dokumentation.
VB.NET
New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}
New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}
C#
new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}
new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}
Windows – Legacy-Konfiguration
Eigenschaften-Panel
Allgemein
- AnzeigeName (DisplayName) - Der Anzeigename der Aktivität.
Eingabe
- JSON-Beispiel – Das JSON-Beispiel für die Ausgabestruktur. Die Aktivität wandelt dieses Beispiel in ein ähnliches Objekt um, das Sie während der Entwurfszeit verwenden können.
- JsonZeichenfolge - Die Zeichenfolge, die das zu deserialisierende JSON enthält. Schreiben Sie das JSON ohne Einrückungen und in doppelte Anführungszeichen. Zeichenfolgen innerhalb des JSON-Objekts müssen in einfachen Anführungszeichen geschrieben werden. Zum Beispiel ist das folgende JSON-Objekt gültig: „{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}“.
Sonstiges
- Privat (Private) - Bei Auswahl werden die Werte von Variablen und Argumenten nicht mehr auf der Stufe Verbose protokolliert.
- Argumenttyp – Eine Dropdownliste, mit der Sie den Typ der zurückgegebenen Ausgabe auswählen können. Die angegebene JSON-Zeichenfolge wird in ein Objekt des ausgewählten Typs konvertiert.
Ausgabe
- JsonObject - Die deserialisierte JSON als
Newtonsoft.Json.Linq.JObject-Variable. Lesen Sie weitere Informationen zuNewtonsoft.Json.Linq.JObject-Objekten.
Beispiel für die Verwendung der Aktivität Deserialize Json
Die Aktivität Deserialize Json wird zum Extrahieren von Daten aus JSON-Dateien und -Zeichenfolgen verwendet.
Um die Verwendung dieser Aktivität zu veranschaulichen, haben wir ein Beispiel erstellt, das die Aktivität Deserialize Json verwendet, um das Alter einer Person aus einer JSON-Datei zu extrahieren.
So kann der Automatisierungsprozess erstellt werden:
- Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
- Drag a Sequence to the Workflow Designer.
-
Erstellen Sie die folgenden Variablen:
Variablenname Variablentyp Standardwert JsonTextString JsonObjJObject AgeGenericValue
-
- Drag a Read Text File activity inside the sequence container.
- In the Properties panel, add the value
"JsonString.txt"in the FileName field. - Add the variable
JsonTextin the Content field.
- In the Properties panel, add the value
- Fügen Sie die Aktivität Deserialize JSON nach der Aktivität Read Text File hinzu.
- In the Properties panel, add the variable
JsonTextin the JsonString field and the variableJsonObjin the JsonObject field. - Select the value
Newtonsoft.Json.Linq.JObjectfrom the TypeArgument drop-down list.
- In the Properties panel, add the variable
- Place an Assign activity under the Deserialize JSON activity.
- Add the variable
Agein the To field and the expressionJsonObj.SelectToken("age").ToStringin the Value field.
- Add the variable
- Ziehen Sie eine Write Line-Aktivität nach der Assign-Aktivität.
- Fügen Sie die Variable
Agein das Feld Text ein.
- Fügen Sie die Variable
- Run the process. The robot extracts the age value from the
.jsonfile and displays it in the Output panel.
Hier können Sie ein Beispiel herunterladen.
- Beschreibung
- Projektkompatibilität
- Voraussetzungen
- Windows, plattformübergreifende Konfiguration
- Erweiterte Optionen
- Beispiel für die Verwendung des JSON-Beispiels
- Ergebnis
- Beispiel für die Verwendung von Serialisierungseinstellungen
- VB.NET
- C#
- Windows – Legacy-Konfiguration
- Eigenschaften-Panel
- Beispiel für die Verwendung der Aktivität Deserialize Json