Asp.net 解码时出错。输入不是有效的Base-64字符串,因为它包含一个非Base 64字符,多于两个填充字符
我从api得到了json格式的响应,它是经过编码的。我已经将json响应存储在一个表中。我想解码响应并反序列化它。 当我试图解码数据时,会出现错误 错误:输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符 json中的实际响应:Asp.net 解码时出错。输入不是有效的Base-64字符串,因为它包含一个非Base 64字符,多于两个填充字符,asp.net,json,Asp.net,Json,我从api得到了json格式的响应,它是经过编码的。我已经将json响应存储在一个表中。我想解码响应并反序列化它。 当我试图解码数据时,会出现错误 错误:输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符 json中的实际响应: data={"Id": "234", "Name": "pinky", "MobileNumber": "", "ClassName": "Class1_Physics", "DOBTime": "1990-
data={"Id": "234", "Name": "pinky", "MobileNumber": "", "ClassName": "Class1_Physics", "DOBTime": "1990-04-11 15:46:38", "Landline": "", "Status": "Unmarried"}
编码后:
数据%3D%7B%22Id%22%3A%20%22234%22%2C%20%22Name%22%3A%20%22pinky%22%2C%20%22MobileEnumber%22%3A%20%22%2C%20%22ClassName%22%3A%20%22Class1%22%2C%20%20%22%22%3A%20%221990-04-11%2015%3A46%3A38%22%2C%20%22%22%22%2C%22%22%3A%22%22%22%2C%22%22%22%22%22%22%3A%22%22%22%
我已经采取了一个解码工具的帮助。
代码:
//正在获取存储在数据库中的响应并将其分配给名为“Name”的字符串
string base64Decoded, base64Decoded2;
base64Decoded = Name.Trim();
base64Decoded = base64Decoded.Replace('-', '+');
base64Decoded = base64Decoded.Replace('_', '/');
base64Decoded = base64Decoded.Replace('=', '/');
base64Decoded = base64Decoded.Replace(':', '/');
byte[] data2 = System.Convert.FromBase64String(base64Decoded);
base64Decoded2 = System.Text.ASCIIEncoding.ASCII.GetString(data2);
获取此行的错误信息:
字节[]数据2=System.Convert.FromBase64String(base64Decoded) 错误在于编码。您是如何对字符串进行编码的?我还没有完成编码。我从一个供应商那里得到了响应。我在任何地方都没有看到base64编码。。。我只看到一个url编码…@xanatos,是url编码吗?谢谢你的评论。@jui Try
string s2=Uri.UnescapeDataString(s)代码>。您应该获得一个字符串,如“data={“Id”:“234”,…