如何使用newtonsoft json反序列化具有不一致base64编码的字符串

时间:2016-09-30 11:48:33

标签: c# json serialization base64

我有一个包含JSON字符串的Web服务返回的字符串。 字符串中的某些属性是base 64编码的。麻烦的是它们不是以一致的方式编码base64。根据{{​​3}},base64编码有一些变化。我知道我期待的是什么,我需要在解码反序列化之前预处理某个属性值。我正在寻找JsonConvert.DeserializeObject()JsonSerializerSettings中的钩子,以便做到这一点。

要清楚,我需要反序列化的json包括具有base 64编码的多个属性。有些有/ +和填充,有些有_ - 而且没有填充。后者导致异常:

  

“输入不是有效的Base-64字符串,因为它包含非基数64   字符,两个以上的填充字符或非法字符   填充字符之间。 “

1 个答案:

答案 0 :(得分:0)

我创建了一个自定义JsonConverter并通过JsonSerializerSettings引入它 谢谢 马丁