|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
||||||||||||||||
Json десериализация TimeOnly04.07.2023, 15:40. Показов 1117. Ответов 20
Метки нет (Все метки)
Здравствуйте!
Проект на framework 4.8, в нем dateonly и timeonly нету, скачал пакет nuget. Далее нужно было сохранить словарь
Сериализует нормально в формате HH:mm. При десериализации ругается, не может преобразовать. Покапался, нашел конвертер.
Делаю так
0
|
||||||||||||||||
| 04.07.2023, 15:40 | |
|
Ответы с готовыми решениями:
20
Десериализация JSON Десериализация JSON Десериализация JSON |
|
|
||||
| 04.07.2023, 21:21 | ||||
|
И да, самое правильное решение которое всем рекомендуют - свой конвертер для любого типа. TimeOnly - ещё только недавно "подвезли". Или ещё не добавили, или уже нашли какую-то сложность из-за чего не стали добавлять. Даже не вникал. Этим типом пока пользуются наверное.... почти никто. ![]() Добавлено через 1 минуту
0
|
||||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
||
| 04.07.2023, 23:34 [ТС] | ||
Пакет этот скачан для framework, в нет кор уже эти структуры включены
0
|
||
|
|
|||
| 05.07.2023, 01:32 | |||
Сообщение было отмечено nicolas2008 как решение
РешениеВот противоречия. - TimeOnly.ParseExact - вы сами его в примере приводите, сами в ошибку попали и... что сейчас пытаесь доказать? что ошибки то и не было? Вы вроде не писали что проблема устранена. - TimeOnly.ParseExact - использует маску, обязательную маску. Причём тут TimeOnly.Parse? - с использованием маски будет парситься только при "HH:mm". Зачем тогда изначально формировать такое значение - с миллисекундами? Это было требование или вы где-то накопипастили и пытались выполнить бездумно? И учитывая выше сказанное - достаточно понять что вы хотите и написать нормальное правило. И без непонятного пакета всё будет работать. Вот про "System.Text.Json" я ошибся. Не заметил что используется "Newtonsoft.Json".
0
|
|||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 09:15 [ТС] | |
|
Конвертер я взял отсюда http://https://github.com/Jame... ssues/2521
Вопрос тогда почему он не сериализуется в формате маски. Добавлено через 1 час 50 минут Словарь при добавлении записи обрезает почему то до минут
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|
| 05.07.2023, 09:18 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
||||||
| 05.07.2023, 09:35 [ТС] | ||||||
|
Вручную
Не хочется снова в DateTime лезть (
0
|
||||||
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|||||||
| 05.07.2023, 09:47 | |||||||
TimeOnly.ToString(), который по умолчанию выводит только часы и минуты. Секунды же сохраняются.Добавлено через 58 секунд Можете проверить:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 09:51 [ТС] | |
|
Ну просто он этот вывод (только часы и минуты) и записывает в строку json а потом распознать не может
Я так понимаю единственное решение добавлять кпк DateTime а потом извлекать как TimeOnly.FromDateTime
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||
| 05.07.2023, 09:55 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 09:58 [ТС] | |
|
Вроде пробывал, но попробую еще, спасибо
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||||||||||||
| 05.07.2023, 10:05 | ||||||||||||
Как видно, даже конвертера не нужно.
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 10:32 [ТС] | |
|
Это на NetCore 6+?
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||
| 05.07.2023, 10:36 | ||
|
Для того, чтобы проверить на NET Framework 4.8, как у вас, надо бы знать, что за пакет вы скачали.
0
|
||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 11:15 [ТС] | |
|
,Проверь плиз этот же код
структуры https://www.nuget.org/packages... teTimeOnly Json https://www.nuget.org/packages/Newtonsoft.Json/
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||
| 05.07.2023, 11:41 | ||
Сообщение было отмечено Alt56 как решение
РешениеTimeOnly.ToString("hh:mm:ss") так как не доверяет полностью этой сборке. Если же использовать вывод по умолчанию, то выводит время в формате 10:30 AM, то есть в американской локализации. Назад же это время не парсит, что мне представляется недоделками в пакете.Короче, я бы не парился, а использовал обычный System.TimeSpan для времени.
1
|
||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 71
|
|
| 05.07.2023, 11:49 [ТС] | |
|
Будем значит обходить как то, в любом случае спасибо за помощь
0
|
|
|
312 / 143 / 77
Регистрация: 23.08.2015
Сообщений: 455
|
||||||
| 05.07.2023, 15:11 | ||||||
|
Можно так, используя NuGet пакет Newtonsoft.Json:
0
|
||||||
|
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
|
|
| 08.07.2023, 08:08 | |
|
Alt56, а ты кастомный TimeOnlyJsonConverter указывал хоть при сериализации?
0
|
|
| 08.07.2023, 08:08 | |
|
Помогаю со студенческими работами здесь
20
Десериализация JSON в Dictionary Не работает десериализация JSON Десериализация Newtonsoft.Json
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|