我有一个简单的课程:
public class site
{
public string URL { get; set; }
}
它存在于 http 处理程序中。目前我正在将 json 发布到这个处理程序并尝试反序列化它以从字符串中获取 URL。但是,我对它的反序列化部分有疑问。
我有一个字符串“jsonString”,它的 json 格式如下:
[{"URL":"http://www.google.com/etc/"}]
这是我的反序列化代码:
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string jsonString = String.Empty;
HttpContext.Current.Request.InputStream.Position = 0;
using (StreamReader inputStream = new StreamReader(HttpContext.Current.Request.InputStream))
{
jsonString = inputStream.ReadToEnd();
}
site currSite = new site();
currSite = jsonSerializer.Deserialize<site>(jsonString);
//set response types
HttpContext.Current.Response.ContentType = "application/json";
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
//send response
HttpContext.Current.Response.Write(jsonSerializer.Serialize(currSite.URL));
然后我尝试使用 currSite.URL 发送响应,但它失败了。我在这里想念什么?我有理由相信它在反序列化部分,因为如果我发送 jsonString 而不是 currSite.URL 的响应,它将起作用。