Я пытаюсь десериализовать строку JSON в объект C #.Когда я отлавливаю отладчик, визуализатор JSON, кажется, отлично разбирает строку.Однако, когда я нажимаю строку через следующий код, возвращаемый объект имеет нулевые значения для свойств.
Вот мой код:
public static Item GetPrices(string itemStr)
{
Item item = JsonConvert.DeserializeObject<Item>(itemStr);
return item;
}
public class Item
{
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
[JsonProperty(PropertyName = "prices")]
public Prices Prices { get; set; }
}
public class Prices
{
[JsonProperty(PropertyName = "priceUofM")]
public PriceUofM[] PriceUofMs { get; set; }
}
public class PriceUofM
{
[JsonProperty(PropertyName = "uofm")]
public string UofM { get; set; }
[JsonProperty(PropertyName = "price")]
public string Price { get; set; }
}
и вот что я передаю ему:
{
"item": {
"id": "1A50CC070S",
"prices":
[
{
"priceUofM": {
"uofm": "BOX",
"price": "$81.11"
}
},
{
"priceUofM": {
"uofm": "CASE",
"price": "$811.11"
}
}
]
}
}
Я запустил его через несколько онлайн-анализаторов, и все они, кажется, прекрасно интерпретируют строку JSON.Что я делаю неправильно при форматировании строки, чтобы вызвать сбой JsonConvert.DeserializeObject?