#c# #json #json.net
#c# #json #json.net
Вопрос:
Мой корневой объект
[JsonProperty("status")]
public string Status {
get;
set;
}
[JsonProperty("error")]
public ErrosHelper Error {
get;
set;
}
[JsonProperty("resource")]
public List<List<int>> Resource {
get;
set;
}
Ответ в формате Json.
{«status»:»success»,»resource»:{«1»:{«1″:»30″,»2″:»23″,»3″:»43″},»2»:{«1″:»34″,»2″:»54″,»3″:»32″},»3»:{«1″:»56″,»2″:»43″,»3″:»39″},»4»:{«1″:»23″,»2″:»32″,»3″:»31″},»5»:{«1″:»34″,»2″:»37″,»3″:»29″},»6»:{«1″:»38″,»2″:»34″,»3″:»45″},»7»:{«1″:»67″,»2″:»53″,»3″:»67″},»8»:{«1″:»45″,»2″:»23″,»3″:»78″},»9»:{«1″:»54″,»2″:»44″,»3″:»56″},»10»:{«1″:»46″,»2″:»23″,»3″:»45″},»11»:{«1″:»77″,»2″:»56″,»3″:»78″},»12»:{«1″:»34″,»2″:»21″,»3″:»65″},»13»:{«1″:»46″,»2″:»23″,»3″:»45″},»14»:{«1″:»77″,»2″:»56″,»3″:»78″},»15»:{«1″:»34″,»2″:»21″,»3″:»65″},»16»:{«1″:»46″,»2″:»23″,»3″:»45″},»17»:{«1″:»77″,»2″:»56″,»3″:»78″},»18»:{«1″:»34″,»2″:»21″,»3″:»65″},»19»:{«1″:»46″,»2″:»23″,»3″:»45″},»20»:{«1″:»77″,»2″:»56″,»3″:»78»}}}
У меня есть ответ, который выдает мне строку Json. Как я могу десериализовать эту строку для моего объекта?
Комментарии:
1. Отредактировано. Прочитайте вопрос ниже.
Ответ №1:
Ваш объект неверен. JSON, который вы показываете, содержит не список списков int, а скорее словарь словарей.
Если вы измените его на
public class Root {
[JsonProperty("status")]
public string Status {
get;
set;
}
[JsonProperty("resource")]
public Dictionary<string, Dictionary<string, int>> Resource {
get;
set;
}
}
Он будет десериализован правильно с помощью JsonConvert.DeserializeObject<Root>(json);
Комментарии:
1. Большое вам спасибо. Это именно то, что я ищу.