【发布时间】:2017-11-16 15:21:55
【问题描述】:
我正在尝试接收以下键值对作为我的 Web API 的输入参数
json=%7B%0A%22MouseSampleBarcode%22%20%3A%20%22MOS81%22%0A%7D%0A
字符串的右边是 URL 编码的 JSON,看起来像
{
"MouseSampleBarcode" : "MOS81"
}
我怎样才能解析这个并将它们存储到模型类中
[HttpPost]
public async Task<IHttpActionResult> Get([FromBody] CoreBarCodeDTO.RootObject coreBarCode)
{
string Bar_Code = coreBarCode.MouseSampleBarcode.ToString();
CoreBarCodeDTO 如下所示
public class CoreBarCodeDTO
{
public class RootObject
{
public string MouseSampleBarcode { get; set; }
}
}
【问题讨论】:
-
Get 没有正文。
-
最简单的方法是删除
json=...并用适当的参数替换它。这对你来说可能吗? -
@Lokki 在 Get 中获得了 [HttpPost]。但是 URL 编码的 JSON 是如何被解码的,以及如何处理 json=
-
您的控制器正在接收表单 url 编码的内容,该内容不会反序列化为
CorBarCodeDTO,因为它没有名为json的属性。您可以考虑在控制器中接受FormDataCollection参数,然后解码和反序列化json键的值。 -
@ViRuSTriNiTy 我无法控制它。 URL编码的JSON如何解码以及如何处理json=
标签: c# json asp.net-web-api json-deserialization