Скинули код и попросили помочь. Какой ответ должен парсить этот код Newtonsoft Json? Помогите, пожалуйста
public static void SetExchangePrices(JToken prices)
{
priceLikesSell = Convert.ToDouble(prices[(object)"sell"][(object)"likes"].ToString());
priceFollowersSell = Convert.ToDouble(prices[(object)"sell"][(object)"followers"].ToString());
priceRepostSell = Convert.ToDouble(prices[(object)"sell"][(object)"repost"].ToString());
priceLikesBuy = Convert.ToDouble(prices[(object)"buy"][(object)"likes"].ToString());
priceFollowersBuy = Convert.ToDouble(prices[(object)"buy"][(object)"followers"].ToString());
priceRepostBuy = Convert.ToDouble(prices[(object)"buy"][(object)"repost"].ToString());
}
Такой ответ не подходит:
{
"prices": [
{
"sell": {
"likes": "12345",
"followers": "12345",
"repost": "12345"
},
"buy": {
"likes": "12345",
"followers": "12345",
"repost": "12345"
}
}
]
}
Какой должен выдавать ответ сервер для парсинга с помощью кода выше, подскажите, пожалуйста?
Если без изменения кода, то взгляните внимательней на строку:
prices[(object)"sell"][(object)"likes"]
У вас есть некий корневой JToken объект prices в котором вы берете sell, из которого берете likes.
Если у вас только этот код и вы дальше нечего не будете писать, то здесь вы не указываете на массив prices из JSON, а значит он у вас лишний и верным будет следующий вариант:
{
"sell": {
"likes": "12345",
"followers": "12345",
"repost": "12345"
},
"buy": {
"likes": "12345",
"followers": "12345",
"repost": "12345"
}
}
Но я очень советую вашему "другу" привести все в порядок, создать правильную структуру классов и работать с ней!
Сборка персонального компьютера от Artline: умный выбор для современных пользователей