ASP.NET WebApi form-urlencoded字符串反序列化

时间:2012-09-07 05:09:32

标签: asp.net-mvc-4 asp.net-web-api

我使用WebApi和Client开发服务,通过POST方法向该服务发送gzip数据(以节省带宽)。他们两个都在我的控制之下。在服务器上,我接收压缩数据,解压缩它并具有如下字符串:

section[0][caption]=Foo&
section[0][address]=175896&
section[0][counters][]=2&
section[0][counters][]=2&
section[0][errors][]=ERR_NOT_AVAILABLE&
errors=true&
trmtimestamp=1346931864358

即简单的www-form-urlencoded字符串。

ASP.NET MVC4 WebApi是否有一些方法可以将此字符串绑定或反序列化为我的模型?

public class Snapshot
{
    public List<SectionState> sections { get; set; }
    public bool errors { get; set; }
    public double date { get; set; }
    public double trmtimestamp { get; set; }
}

1 个答案:

答案 0 :(得分:4)

您可以使用以下代码来解析字符串:

new System.Net.Http.Formatting.FormDataCollection(query).ReadAs<Snapshot>();

ReadAs是在System.Web.Http.ModelBinding.FormDataCollectionExtensions下定义的扩展方法。

相关问题