解码Input参数

时间:2017-12-27 16:09:17

标签: c# asp.net asp.net-web-api urlencode json-deserialization

我正在尝试解码URL编码的输入参数。

输入参数如下所示

json=%7B%0A%22MouseSampleBarcode%22%20%3A%20%22MOS81%22%0A%7D%0A

我有这个模特课:

public class CoreBarCodeDTO
{
    private string _json;
    public string json
    {
        get { return _json; }
        set
        {
            string decoded = HttpUtility.UrlDecode(value);
            _json = decoded;
        }
    }

}

在我的控制器中,我正在尝试解析此问题并尝试检索MouseSampleBarCode

[HttpPost]
public async Task<IHttpActionResult> Post([FromBody] CoreBarCodeDTO coreBarCode)
{
    string inputJson = coreBarCode.json;

    dynamic results = JsonConvert.DeserializeObject<dynamic>(inputJson);
    string Bar_Code = results.MouseSampleBarcode;

当我尝试使用fiddler

进行调试时

enter image description here

我收到此错误

  

System.NullReferenceException:发生错误
  对象引用未设置为对象的实例。

1 个答案:

答案 0 :(得分:0)

发现它在Fiddler中的问题我提供了错误的内容类型

应该是

Content-Type: application/x-www-form-urlencoded