我使用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; }
}
答案 0 :(得分:4)
您可以使用以下代码来解析字符串:
new System.Net.Http.Formatting.FormDataCollection(query).ReadAs<Snapshot>();
ReadAs是在System.Web.Http.ModelBinding.FormDataCollectionExtensions下定义的扩展方法。