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

こ雲淡風輕ζ 提交于 2019-12-03 22:46:24

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!