Я использую WebUtility.HtmlDecode
, чтобы попытаться декодировать строку, часть которой находится ниже:WebUtility.HtmlDecode не может декодировать строку
checkin=%7B%22id%22%3A%224f612730e4b071dd72e3749d%22%2C%22createdAt%22%3A1331767088%2C%22type%22%3A%22checkin%22%2C%22timeZone%22%3A%22America%5C%2FDenver%22%2C
Но WebUtility.HtmlDecode
не сможет расшифровать его, любой из него. В случае, если это имеет значение, вот как я генерации строки:
public static Dictionary<String, dynamic> DeserializeRequestStream(Stream requestStream, int contentLength)
{
requestStream.Position = 0; //Since a custom route with post data AND an ID passed in a parameter reads this stream. Damn bugs.
var bytes = new byte[contentLength];
requestStream.Read(bytes, 0, contentLength); //(int)requestStream.Length - contentLength
var jsonResponse = System.Text.Encoding.UTF8.GetString(bytes, 0, bytes.Length);
var decodedResponse = WebUtility.HtmlEncode(jsonResponse);
//...snip...
}
Это якобы закодированные данные в формате JSON, что я читаю из запроса POST. Как я могу декодировать эту строку для обычного JSON?
Редактировать: Lasse V. Karlsen указывает, что это на самом деле URL-код, и что я лаял неправильное дерево. Вопрос все еще остается: как бы я это расшифровать?
'% 7B' * кодируется * URL *, а не * HTML *. Кодировка HTML имеет дело с амперсандами и т. П. –