ASP.NET WebApi form-urlencoded string deserialize
我使用 WebApi 和客户端开发服务,通过 POST 方法向该服务发送压缩数据(以节省带宽)。他们两个都在我的控制之下。在服务器上我收到压缩数据,解压缩它并有字符串,例如:
1 2 3 4 5 6 7 | 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 是否有一些方法可以将此字符串绑定或反序列化到我的模型?
1 2 3 4 5 6 7 | 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 | new System.Net.Http.Formatting.FormDataCollection(query).ReadAs<Snapshot>(); |
ReadAs 是 System.Web.Http.ModelBinding.FormDataCollectionExtensions 下定义的扩展方法。