Asp.net 解码时出错。输入不是有效的Base-64字符串,因为它包含一个非Base 64字符,多于两个填充字符

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-

我从api得到了json格式的响应,它是经过编码的。我已经将json响应存储在一个表中。我想解码响应并反序列化它。 当我试图解码数据时,会出现错误

错误:输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非法字符

json中的实际响应:

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”,…