Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410

Ошибка преобразования json строки в объект C#

18.02.2019, 00:22. Показов 930. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не обращайте внимание , что все свойства типа string , это я потом поменяю.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 public class OrderBook
    {
        public string ask_quantity { get; set; }
        public string ask_amount { get; set; }
        public string ask_top { get; set; }
        public string bid_quantity { get; set; }
        public string bid_amount { get; set; }
        public string bid_top { get; set; }
        public List<Bid> bid { get; set; }
        public List<Ask> ask { get; set; }
        
 
    }
 
    public class Ask
    {
        public string price { get; set; }
        public string quantity { get; set; }
        public string sum { get; set; }
    }
 
    public class Bid
    {
        public string price { get; set; }
        public string quantity { get; set; }
        public string sum { get; set; }
    }
В Main пытаюсь преобразовать Json формат
C#
1
2
3
            OrderBook orderBook = new OrderBook();
            var info = api.ApiQuery("order_book", new Dictionary<string, string> { { "pair", "USD_RUB" }, { "limit", "10" } });
            orderBook = JsonConvert.DeserializeObject<OrderBook>(info);
Через Api я получаю строку вида
JSON
1
2
3
4
5
6
7
8
9
10
"USD_RUB": {
    "ask_quantity": "3",
    "ask_amount": "500",
    "ask_top": "100",
    "bid_quantity": "1",
    "bid_amount": "99",
    "bid_top": "99",
    "ask": [[100,1,100],[200,2,400]],
    "bid": [[99,1,99]]
  }
Но на выходе, если я обращаюсь к свойствам orderBook , то значения Null, в чем ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2019, 00:22
Ответы с готовыми решениями:

Почему не добавляется объект и вылетает ошибка преобразования типов?
uses crt,GameEngine2DS,GraphABC; var scn: Scene; a: GameObject; KL:KeyList; begin a := new GameRectangle(); (a...

Парсинг Json строки в объект и массив
{ &quot;json&quot;: }, { &quot;tovar&quot;: } ] } string js = &quot;{ &quot;json&quot; : },{ &quot;tovar&quot; : } ]...

Ошибка преобразования строки
Добрый день, есть метод api , который принимает в себя словарь с типом &lt;string,string&gt; Если в него передавать данные, типа...

2
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
18.02.2019, 00:47
В том что у вас в json есть поле USD_RUB, а в классах ничего подобного нет.

C#
1
2
3
4
5
6
7
8
9
10
11
public class CurrencyPair
{
        public string ask_quantity { get; set; }
        public string ask_amount { get; set; }
        public string ask_top { get; set; }
        public string bid_quantity { get; set; }
        public string bid_amount { get; set; }
        public string bid_top { get; set; }
        public string[][] ask { get; set; }
        public string[][] bid { get; set; }
}
C#
1
2
var json = new WebClient().DownloadString("https://api.exmo.com/v1/order_book/?pair=BTC_USD,BTC_EUR");
var pairs = JsonConvert.DeserializeObject<Dictionary<string, CurrencyPair>>(json);
1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
18.02.2019, 00:47  [ТС]
Someone007, аа понял, получается в классе необходимо сделать одно поле, а в нем всю остальную структуру.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2019, 00:47
Помогаю со студенческими работами здесь

Ошибка преобразования из строки 2,5
В компонент CalcEdit ввожу 2,5 запускаю на исполнение процедуру procedure TForm4.Button3Click(Sender: TObject); begin ...

Ошибка преобразования строки в дату
Convert.ToDateTime(&quot;‎05‎.‎03‎.‎2018&quot;); Выдает &quot;Строка не распознана как действительное значение DateTime.&quot; В чем дело? Помогите...

Ошибка преобразования строки в дату
Всем привет! Есть следующий код: DateTime ActDate = DateTime.Parse(MyDate); Параметр MyDate приходит с удаленного сервера в...

Ошибка преобразования даты из строки
Доброго времени суток. Написал триггер для сбора статистики USE GO /****** Object: Trigger . Script Date: 18.03.2019 18:29:47...

Ошибка преобразования datetime из символьной строки
Добрый день. Есть база данных состоящая из 4 таблиц, созданная в MS SQL. В Delphi строю запрос, где ввожу данные в edit и подставляю их в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru