Add*_*ddy 0 c# json json.net asp.net-mvc-5
我有一个样本詹森
[{"_2":["HR Data","Reformed (Master File)"]}]
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其反序列化为以下模型
public class ExploreCriteria
{
public Dictionary<String, List<String>> Explore { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止尝试过的
ExploreCriteria Explore = new ExploreCriteria();
Explore = JsonConvert.DeserializeObject<ExploreCriteria>(JsonStr);
Run Code Online (Sandbox Code Playgroud)
但它说
Cannot deserialize the current JSON array (e.g. [1,2,3]) into type
'DataModels.ExploreCriteria' because the type requires a JSON object
(e.g. {"name":"value"}) to deserialize correctly.
Run Code Online (Sandbox Code Playgroud)
提供的JSON和您的ExploreCriteria类没有描述相同的结构。
您的JSON结构是一个数组,其中包含带有数组值的键。因此,您可以删除方括号以
{"_2":["HR Data","Reformed (Master File)"]}
Run Code Online (Sandbox Code Playgroud)
那么你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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |