C# 如何将Json反序列化到字典中<;字符串,列表<;字符串>&燃气轮机;

C# 如何将Json反序列化到字典中<;字符串,列表<;字符串>&燃气轮机;,c#,json,asp.net-mvc-5,json.net,C#,Json,Asp.net Mvc 5,Json.net,我有一个Json示例 [{"_2":["HR Data","Reformed (Master File)"]}] 我正试图将其反序列化到下面的模型中 public class ExploreCriteria { public Dictionary<String, List<String>> Explore { get; set; } } 提供的JSON和您的ExploreCriteria类描述的结构不同 JSON结构是一个数组,其中包含

我有一个Json示例

[{"_2":["HR Data","Reformed (Master File)"]}]
我正试图将其反序列化到下面的模型中

public class ExploreCriteria
    {
        public Dictionary<String, List<String>> Explore { get; set; }
    }

提供的JSON和您的
ExploreCriteria
类描述的结构不同

JSON结构是一个数组,其中包含一个带有数组值的键。因此,您可以删除方括号以

{"_2":["HR Data","Reformed (Master File)"]}
那么您的
ExploreCriteria
就合适了。或者您可以将JsonConvert调用更改为

var JsonStr = "[{\"_2\":[\"HR Data\",\"Reformed(Master File)\"]}]";
ExploreCriteria Explore = new ExploreCriteria();
var data = JsonConvert.DeserializeObject<IEnumerable<Dictionary<String, List<string>>>>(JsonStr);
Explore.Explore = data.FirstOrDefault();
var JsonStr=“[{\”\u 2\”:[\“人力资源数据\”,\“已改革(主文件)\”]}];
ExploreCriteria Explore=新的ExploreCriteria();
var data=JsonConvert.DeserializeObject(JsonStr);
Explore.Explore=data.FirstOrDefault();

提供的JSON和您的
ExploreCriteria
类描述的结构不同

JSON结构是一个数组,其中包含一个带有数组值的键。因此,您可以删除方括号以

{"_2":["HR Data","Reformed (Master File)"]}
那么您的
ExploreCriteria
就合适了。或者您可以将JsonConvert调用更改为

var JsonStr = "[{\"_2\":[\"HR Data\",\"Reformed(Master File)\"]}]";
ExploreCriteria Explore = new ExploreCriteria();
var data = JsonConvert.DeserializeObject<IEnumerable<Dictionary<String, List<string>>>>(JsonStr);
Explore.Explore = data.FirstOrDefault();
var JsonStr=“[{\”\u 2\”:[\“人力资源数据\”,\“已改革(主文件)\”]}];
ExploreCriteria Explore=新的ExploreCriteria();
var data=JsonConvert.DeserializeObject(JsonStr);
Explore.Explore=data.FirstOrDefault();
列出上载的文件=
反序列化对象(json)

使用keyvaluepair类而不是字典。

列出上载的文件=
反序列化对象(json)


使用keyvaluepair类而不是dictionary。

您是否尝试反序列化到
ExploreCriteria
ExploreCriteria[]
数组?因为JSON中最外层的东西是一个数组。与此类似,请尝试将
var explore=JsonConvert.DeserializeObject(JsonStr)
反序列化为
ExploreCriteria
ExploreCriteria[]
的数组?因为JSON中最外层的东西是一个数组。与此类似,请尝试
var explore=JsonConvert.DeserializeObject(JsonStr)
@AdilWaqar-很抱歉,explore属性不合适。我已经编辑了代码,使其适合您的“ExploreCriteria”。@AdilWaqar-很抱歉,Explore属性不适合。我对代码进行了编辑,使其适合您的“ExploreCriteria”。