The Client side receives a formal JSON content \"{\\\"Id\\\":[1,2,3],\\\"Size\\\":56}\"
, but get an error in deserialization the byte array.
1 Error occurs
I have run into this issue, too. My solution was to use RestSharp to perform a raw execute and use Json.NET to deserialize the result:
var response = client.Execute(request);
var keyResponse = JsonConvert.DeserializeObject<key>(response.Content);
keyResponse should now be an instance of your key class deserialized from the JSON content.
JsonDeserializer from RestSharp can not deserialize array. Instead of byte[]
use List<byte>
. For more information see https://github.com/restsharp/RestSharp/wiki/Deserialization
In addition to Chris Hogan's reply, I'd like to point out that I got this error when RestSharp incorrectly used the default serializer instead of the custom JSON.NET serializer I had assigned.
The reason for this was that I added a handler with content type application/json
whereas the API I was getting the response from returned the content as text/json
.
So by changing the AddHandler
call to AddHandler("text/json", jsonDeserializer)
, I resolved the issue.