Was ich habe eine REST-Antwort im JSON-Format ist, das wie folgt aussieht: { "guid": "c75d06a8-a705-48ec-b6b3-9076becf20f4" }
Deserialize JSON-Objekt in dem Typen System.Guid
Beim Versuch, diesen reponse String in ein Objekt vom Typ wie diese System.Guid deserialisieren: Newtonsoft.Json.JsonConvert.DeserializeObject(response.content, type);
, die folgende Ausnahme ausgelöst:
nicht die aktuelle JSON-Objekt deserialisieren (zB { „name“: „Wert“}) in den Typ ‚System.Nullable`1 [System.Guid]‘, weil der Typ erfordert ein JSON primitiver Wert (zB String, Zahl, Boolean, NULL) um korrekt zu deserialisieren. Um diesen Fehler zu beheben, ändern Sie den JSON entweder in einen JSON-Grundwert (z. B. string, number, boolean, null) oder ändern Sie den deserialisierten Typ so, dass es ein normaler .NET-Typ ist (z. B. kein primitiver Typ wie ganze Zahl, keine Auflistung) Typ wie ein Array oder eine Liste), die aus einem JSON-Objekt deserialisiert werden können. JsonObjectAttribute kann auch zum Typ hinzugefügt werden, um die Deserialisierung von einem JSON-Objekt zu erzwingen. Weg 'guid', Linie 1, Position 8.
Jede Hilfe wird geschätzt!
Der Fehler sagt Ihnen, warum es nicht funktioniert: Sie versuchen, 'zu deserialisieren {"guid": "guid"} 'als' Guid'. Der Guid-Typ hat keine guid-Eigenschaft. Deserialisieren Sie das Objekt und deserialisieren Sie dann den * Wert * der 'guid' Eigenschaft als' Guid'. –
Sie können eine neue GUID aus einem Zeichenfolgenwert erstellen, wie der Fehler angibt. Wenn Sie diese Zeichenfolge extrahieren, versuchen Sie 'new Guid (myGuidString)' – Sal