Ниже приведен Json:
[{
"Result": {
"description": "Application Security Supp Specialist",
"code": "40000003"
}
}, {
"Result": {
"description": "Gvt Cyber Intelligence Specialist",
"code": "40001416"
}
}, {
"Result": {
"description": "Gvt Record Retention Specialist",
"code": "40001428"
}
}]
И ниже структура класса, которую я создал, поскольку мне нужно заполнить ее в объекте C #.Я пытаюсь создать коллекцию RulesEngineOutput и заполнить ее содержимым json.
public class RulesEngineOutput
{
[JsonProperty("description")]
public string Description { get; set; }
[JsonProperty("code")]
public string Code { get; set; }
}
public class RulesEngineOutputCollection
{
public IEnumerable<RulesEngineOutput> ProbableRoles { get; set; }
}
Я пытаюсь добиться этого, используя следующий код:
var bodyJson = JsonConvert.SerializeObject(bodyString);
RulesEngineOutputCollection result = new RulesEngineOutputCollection();
foreach (var item in bodyJson)
{
result = JsonConvert.DeserializeObject<RulesEngineOutputCollection>(item.ToString());
}
Но это исключение, так как элемент получает символ, я думаю, что мне нужно передать объект JSON в цикле, но я не могу его получить.Каждый раз, когда я получаю, это строка JSON.
Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'RulesEngineOutputCollection', потому что тип требует объект JSON (например, {\ "name \ ": \" value \ "}) для правильной десериализации. \ r \ nЧтобы исправить эту ошибку, либо измените JSON на объект JSON (например, {\" name \ ": \" value \ "}), либо измените десериализованныйвведите массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например List, который можно десериализовать из массива JSON.