как сериализовать вложенный список в формат json - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть объект List, который содержит список объектов Products. Я должен вернуть это как Json формат пользовательского интерфейса.

Вот пример вложенного списка, который я получаю. Как добавить список в объект A, где список является частью класса A

Я использую JsonResult, чтобы вернуть формат Json, но только объект списка клиентов. превращается внутренний список Отсутствует объект продукта.

Пожалуйста, кто-нибудь подскажет, как сериализовать вложенный список.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

при условии, что вы хотите вернуть список клиентов из вашего предыдущего сообщения :

вам необходимо импортировать Newtonsoft. Json пакет в ваше приложение

using Newtonsoft.Json;

public your_method() {

   List<Customer> customers = your_method_to_return_curstomers();
   var jsonValue = Newtonsoft.Json.JsonConvert.SerializeObject(customers);
}

Пример Fiddle

, пожалуйста, инициируйте список своих продуктов в конструкторе Customer (я не знаю, если это может быть проблемой для вашей проблемы)

public class Customer
{
    public Customer() {
      Products = new List<Product>();
    }

    public int CustomerId {get;set;}
    public string Name {get;set;}
    public List<Products> Products {get;set;}      
}
0 голосов
/ 01 апреля 2020

Допустим, у вас есть два списка

public class Customer
{
    [JsonProperty("customer_id")]
    public int CustomerId { get; set; }

    [JsonProperty("name")]
    public string Name { get; set; }

    [JsonProperty("products")]
    public List<Products> Products { get; set; }
}

public class Products
{
    [JsonProperty("product_id")]
    public string ProductId { get; set; }

    [JsonProperty("name")]
    public string Name { get; set; }
}

//initialize Object of Customer here

Использование Newtonsoft для преобразования объекта Customer в json

var jsonString = JsonConvert.SerializeObject(objCustomer);

Вы также можете воспользоваться несколькими форматами доступные опции.

Обновление За ваш комментарий - передайте данные сериализации

return Ok(JsonConvert.SerializeObject(objCustomer))

Кроме того, если вы передаете objCustomer, например,

return Ok(objCustomer)

он должен вернуть вам Json (при условии, что вы не настроили свой проект для возврата другого формата по умолчанию)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...