RestSharp deserialize JSON content(represent an object contains an byte array) error RestSharp deserialize JSON content(represent an object contains an byte array) error arrays arrays

RestSharp deserialize JSON content(represent an object contains an byte array) error


JsonDeserializer from RestSharp can not deserialize array. Instead of byte[] use List<byte>. For more information see https://github.com/restsharp/RestSharp/wiki/Deserialization


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.


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.