powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / считывание json
25 сообщений из 33, страница 1 из 2
считывание json
    #40025942
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пытаюсь прочитать json код из текстовой переменной responseString
Код: vbnet
1.
2.
Dim jss As JavaScriptSerializer = New JavaScriptSerializer()
Dim dict As Object = jss.Deserialize(Of Object)(responseString)

при любой попытке как-то достать данные из dict получаю неожиданную ошибку System.InvalidCastException: "Приведение строки "" к типу "Integer" является недопустимым."
подскажите, как обращаться к данным в json в конкретно этом случае?
...
Рейтинг: 0 / 0
считывание json
    #40025947
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так тебе не в object надо десериализовать, а в конкретный класс, соответствующий твоему json-у
А иначе тебе зачем вообще десериализация? Используй JToken
...
Рейтинг: 0 / 0
считывание json
    #40025948
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok
Код: vbnet
1.
JavaScriptSerializer


Его уже сто лет как нету. На поминках три баяна порвали.
https://docs.microsoft.com/en-us/dotnet/api/system.web.script.serialization.javascriptserializer?view=netframework-4.8 For .NET Framework 4.7.2 and later versions, use the APIs in the System.Text.Json namespace for serialization and deserialization. For earlier versions of .NET Framework, use Newtonsoft.Json.
...
Рейтинг: 0 / 0
считывание json
    #40025953
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
На поминках
тут я и сам что-то проспал. А что сейчас у нас модно для десериализации json-а?
...
Рейтинг: 0 / 0
считывание json
    #40025957
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
А что сейчас у нас модно

Смузи, самокаты, и System.Text.Json :)
...
Рейтинг: 0 / 0
считывание json
    #40025960
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthatSystem.Text.Jsonу меня такая штука даже не объявляется, какой-то Newtonsoft.Json только
...
Рейтинг: 0 / 0
считывание json
    #40025966
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Смузи, самокаты, и System.Text.Json :)
блин, а я как дурак на моноколесе
...
Рейтинг: 0 / 0
считывание json
    #40025967
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok
у меня такая штука даже не объявляется, какой-то Newtonsoft.Json только
ты ж говорил, что у тебя .NET 4.8
...
Рейтинг: 0 / 0
считывание json
    #40025970
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok
Newtonsoft.Json только

Это норм. Значит пиши классы по своей json-схеме и читай им в них, ( Newtonsoft.Json.JsonConvert ), либо разбирай его руками с помощью JToken и прочего
...
Рейтинг: 0 / 0
считывание json
    #40025974
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
ты ж говорил, что у тебя .NET 4.8

Под него надо пакетом ставить, кажется.
...
Рейтинг: 0 / 0
считывание json
    #40025983
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok
у меня такая штука даже не объявляется, какой-то Newtonsoft.Json только


Используйте его.
...
Рейтинг: 0 / 0
считывание json
    #40026021
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Используйте его.

Нет.
...
Рейтинг: 0 / 0
считывание json
    #40026054
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
Используйте его.

Нет.


Почему? Newtonsoft гораздо богаче по функционалу, плюс он менее строгий, что лучше подходит для внедрения в уже существующие решения.

System.Text.Json стоит применять на новых .net core проектах и привыкать к его строгости и готовиться пилить гору расширений, которые в Newtonsoft из коробки идут.
...
Рейтинг: 0 / 0
считывание json
    #40026067
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
System.Text.Json стоит применять на новых .net core проектах
Да.

hVostt
привыкать к его строгости
Да.

hVostt
готовиться пилить гору расширений
Зачем? Насколько я слышал, System.Text.Json как раз автор Json.Net и делал (и он, вообще, давно один из ведущих девелоперов в команде ASP .Net Core) и одна из целей как раз и была сделать все это легковеснее, повыпилив все то, что нужно реже чем монголы ванну принимают.
...
Рейтинг: 0 / 0
считывание json
    #40026080
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
готовиться пилить гору расширений
Зачем? Насколько я слышал, System.Text.Json как раз автор Json.Net и делал (и он, вообще, давно один из ведущих девелоперов в команде ASP .Net Core) и одна из целей как раз и была сделать все это легковеснее, повыпилив все то, что нужно реже чем монголы ванну принимают.


Всё же реальность несколько суровей.
И Newtonsoft использовать зачастую дешевле, при чём существенно, так как либа достаточно быстрая, мощная и отлаженная годами.
...
Рейтинг: 0 / 0
считывание json
    #40026087
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начал глаз дергаться, как прочитал про создание классов, какие-то библиотеки, установки. всё оказалось проще:
Код: javascript
1.
Dim json As JArray = JArray.Parse(responseString)

а дальше можно перебирать массивы
Код: javascript
1.
For Each obj In json

и обращаться к любому значению по имени
Код: vbnet
1.
matches.SelectToken("id").ToString

в общем, нормальная вещь
...
Рейтинг: 0 / 0
считывание json
    #40026092
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, в этом варианте ты избегаешь создания класса под десериализованный объект, особенно когда формат json-а заранее неизвестен.
Фактически - это аналог XDocument/XNode (я вот с System.Text.Json особо не работал пока, интересно, там тоже можно XPath-запросы делать)
...
Рейтинг: 0 / 0
считывание json
    #40026101
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Newtonsoft использовать зачастую дешевле

Если нужно что-то из его функционала, то, конечно, если не нужен, то нафига.
...
Рейтинг: 0 / 0
считывание json
    #40026118
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Ну да, в этом варианте ты избегаешь создания класса под десериализованный объект, особенно когда формат json-а заранее неизвестен.
Фактически - это аналог XDocument/XNode (я вот с System.Text.Json особо не работал пока, интересно, там тоже можно XPath-запросы делать)


Нельзя, System.Text.Json -- исключительно для сериализации/десериализации.
...
Рейтинг: 0 / 0
считывание json
    #40026119
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
Newtonsoft использовать зачастую дешевле

Если нужно что-то из его функционала, то, конечно, если не нужен, то нафига.


Дело не только в функционале, но и обратной совместимости.
Очень много написано с учётом возможностей и работы этой библиотеки, которая, на минуточку, входила в стандартный Boilerplaite от Microsoft и была рекомендуемой.

Собственно System.Text.Json это вовсе не замена Newtonsoft.Json, почитай на гитхабе, они шлют лесом запросы по копированию функционала из него.
...
Рейтинг: 0 / 0
считывание json
    #40026125
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Очень много написано с учётом возможностей и работы этой библиотеки
Перепишут, куда денутся. У меня тоже когда-то много чего было написано еще под второй фреймворк
hVostt
входила в стандартный Boilerplaite от Microsoft и была рекомендуемой.
Ну так ничего другого тогда не было.
hVostt
они шлют лесом запросы по копированию функционала из него.
Правильно делают. Не нужно нам в нашем чудеснейшем и расцветающем .NET 5 это адово легаси из пещерных времен aspx и asmx
...
Рейтинг: 0 / 0
считывание json
    #40026127
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
входила в стандартный Boilerplaite от Microsoft и была рекомендуемой.
Ну так ничего другого тогда не было.


Как не было, было ты чего )
...
Рейтинг: 0 / 0
считывание json
    #40026129
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
было

Было всякое убожество типа того, что из сабжа темы. Теперь же есть System.Text.Json. Даже под .NET Framework 4.*. Кстати, твой Свашбакл с Json.Net уже правильно не работает - требует дополнительно расширение ставить
...
Рейтинг: 0 / 0
считывание json
    #40026170
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Кстати, твой Свашбакл с Json.Net уже правильно не работает


Ну так его регать надо на уровне платформы, но я не проверял, мы на System.Text.Json сидим
...
Рейтинг: 0 / 0
считывание json
    #40026178
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ну так его регать надо на уровне платформы

Там ему просто специально надо сказать, что сериализация моделей будет делаться ньютонсофтом. Он иначе, например, все свойства моделей в паскаль-кейсе нагенерит, может где-то и еще накосячит, я, понятное дело, детально это не исследовал. Одним вызовом в стартапцс делается. Только пакет еще надо доставить нужный. В доках все описано прямо на первой странице.
Код: c#
1.
services.AddSwaggerGenNewtonsoftSupport();
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / считывание json
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]