Объедините словарь с разными уровнями в C# - PullRequest
0 голосов
/ 18 июня 2020

Я хочу создать словарь в C#, имеющий такую ​​структуру:

{
  "PriceApproval": 0,
  "ListOffers": [
    {
      "EAN": "7701410118349",
      "Stock": "3",
      "Price": "16000.00",
      "DiscountPrice": "20000.00",
      "AverageFreightCost": "25000.00",
      "PromiseDelivery": "1 a 10",
      "Warranty": 50,
      "IsFreeShipping": 0,
      "IsEnviosExito": 0,
      "IsFreightCalculator": 0,
      "IsLogisticsExito": 0,
      "IsUpdatedStock": 1,
      "Currency": "COP",
      "Periodicity": 1
     }
   ]
}

Какую структуру словаря мне следует использовать? Я хочу отправить его как содержимое в httpRequestMessage, используя JSON, например:

Content = new StringContent(JsonConvert.SerializeObject(info))

Большое спасибо.

1 Ответ

1 голос
/ 18 июня 2020

Поскольку одно значение - это int (или на самом деле любой тип numeri c), а другое - другой словарь, значения которого представляют собой смесь чисел и строк, лучшее, что вы можете надеяться на готовое решение это Dictionary<string, object>. Если вам нужно более строго типизированное решение, вы можете определить иерархию классов (конечно, используя более значимые имена):

public class Info
{
    public int PriceApproval {get; set;}
    public ListOffer[] ListOffers {get; set;}
}
public class ListOffer
{
    public string EAN {get; set;}
    public int Warranty {get; set;}
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...