Я занимаюсь разработкой веб-API. Я получил следующую ошибку.та же самая структура кода работает для fetchbyid, post, edit.Что я здесь не так.Помогите мне, пожалуйста.Catalog.cs:
public class Catalog
{
[JsonProperty("id")]
public Guid? Id { get; set; }
[JsonProperty("VendorName")]
public string VendorName { get; set; }
// public List<Industy> Industy { get; set; }
public Industy Industy { get; set; }
public Catalog()
{
if (Id == null)
{
Id = Guid.NewGuid();
}
else
{
Id = Id;
}
// this.Industy = new List<Industy>();
}
}
public async Task<IEnumerable<Catalog>> FetchListAsync(
Guid? itemId)
{
var feedOptions =
new FeedOptions
{
MaxItemCount = -1,
EnableCrossPartitionQuery = true
};
var query = new SqlQuerySpec
{
QueryText = "SELECT * FROM c"
};
var orderDocumentQuery =
_cosmosClient.CreateDocumentQuery<Catalog>(
UriFactory.CreateDocumentCollectionUri(
_azureCosmosDbOptions.Value.DatabaseId, "catalog"), query, feedOptions)
.AsDocumentQuery();
var orderList =
new List<Catalog>();
Console.WriteLine(orderDocumentQuery.ToString());
while (orderDocumentQuery.HasMoreResults)
{
orderList.AddRange(
await orderDocumentQuery.ExecuteNextAsync<Catalog>());
}
return orderList;
}
ошибка:
JsonSerializationException: Невозможно десериализовать текущий объект JSON (например, {"name": "value"}) втип 'System.Collections.Generic.List`1 [CatalogAPI.Entities.Industy]', поскольку для корректной десериализации тип требует массив JSON (например, [1,2,3]).Чтобы исправить эту ошибку, либо измените JSON на массив JSON (например, [1,2,3]), либо измените десериализованный тип так, чтобы это был нормальный тип .NET (например, не примитивный тип, например, целое число, а не тип коллекции, например,массив или List<T>
), который можно десериализовать из объекта JSON.JsonObjectAttribute также можно добавить к типу, чтобы заставить его десериализоваться из объекта JSON.Путь 'Industy.Id', строка 1, позиция 117.
Что я делаю неправильно ??