Json Десериализует список с помощью in a List

#c# #json.net

#c# #json.net

Вопрос:

Возможно ли десериализовать список с помощью in a list с помощью JsonConvert.DeserializeObject?

 Object: 
public class BusinessList
{
    public long Number{ get; set; }
    public string BusinessUnitCode { get; set; }
    public List<string> Codes { get; set; }
}

Json:

{"Number":111121,"BusinessUnitCode":"ABC","Codes":["11111-2","14333-8"]}

Deserialization: 

var dataList = (List<BusinessList>)JsonConvert.DeserializeObject(reciveObject, typeof(List<BusinessList>), jsonSerializerSettings);
  

Ошибка:

 "Expected a JsonObjectContract or JsonDictionaryContract for 
type 'System.Collections.Generic.List`1
[PathResultsPortal.UI.Controllers.AnalyteDetails]', 
got 'Newtonsoft.Json.Serialization.JsonArrayContract'."
  

Если вы удалите список кодов из объекта BusinessList, он работает нормально, похоже, он не может обрабатывать список с помощью in a list, возможно ли это вообще?

Комментарии:

1. Есть ли причина, по которой коды не могут быть строкой []

2. Игнорируйте, я идиот. Я отправлял просто объект BusinessList, но пытался десериализовать в список. Работает нормально, если вы пытаетесь собрать его обратно как тот же объект, который был отправлен. * ПОЩЕЧИНА

Ответ №1:

 public class BusinessList 
{
    [JsonProperty(PropertyName = "Number")]
    public long Number{ get; set; }

    [JsonProperty(PropertyName = "BusinessUnitCode ")]
    public string BusinessUnitCode { get; set; }

    [JsonProperty(PropertyName = "Codes ")]
    public List<Codes> Codes { get; set; }
}

public class Codes
{
    public string Code { get; set; }
}
  

попробуйте это