Json.NET - JsonConvert.DeserializeObject 没有做任何事情



我正在使用 Json.NET 来反序列化 jQuery.post() JSON 参数。

回发的原始值采用以下格式

jobs=4-5-6-7&invoiceDate=04-05-11

我尝试反序列化为的类是

public class InvoiceRequest
{
    public DateTime InvoiceDate { get; set; }
    public string JobList { get; set; }
}

我为此使用的代码是

var sr = new System.IO.StreamReader(Request.InputStream);
var line = sr.ReadToEnd();
var deserializedProduct = JsonConvert.DeserializeObject<InvoiceRequest>(line);

问题是,当第三条线被击中时,什么都不会发生。当我单步执行代码时,它到达了那一行,然后......无。步进器消失,页面永远不会收到任何响应。

谁能解释我在这里做错了什么?

以下是application/x-www-form-urlencoded请求,而不是 JSON:

jobs=4-5-6-7&invoiceDate=04-05-11

如果需要 JSON,请求应如下所示:

{ 'jobs': '4-5-6-7', invoiceDate: '04-05-11' }

它不起作用,因为您的数据不是 JSON。要么更改你的 JavaScript,让它以 JSON 的形式发送数据,要么使用 HttpUtility.ParseQueryString 来解析它当前的格式。

相关内容

  • 没有找到相关文章

最新更新