【发布时间】:2017-09-14 23:02:44
【问题描述】:
我的有效载荷看起来像这样:
{
"REFERENCE": "1",
"FIELDS" : {
"CUST" : "1234",
"PROD" : "PR2134",
"LIMIT" : "12345",
"LINES" : {
"LINE" : "01",
"DATA" : "12"
}
}
}
我的对象只有以下内容:
public class TriggerRequest
{
public string reference { get; set; }
public Dictionary<string, string> fields { get; set; }
}
显然,这不处理 LINES 对象。如何创建一个反序列化入站有效负载的类,其中 LINES 是动态的(即我可以在有效负载中的任何位置发送任何 Dictionary> 并且它会正确反序列化。这是我需要创建自定义 JsonConverter 时的东西吗? ?
【问题讨论】:
-
这是因为它区分大小写..
-
在开始使用自己的 JSON 转换器之前,您应该查看一些已经可用的包,包括 JSON.net 和 Silverlight 的
System.Json,其中大多数都能够反序列化为动态或Dictionary<string, object> -
来自
Newtonsoft.Json库(AKA Json.net)的JObject obj = JsonConvert.DeserializeJson(string json)可能会很好地完成您想要完成的工作。
标签: c# json asp.net-web-api deserialization