powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сериализовать объект из текста Json ?
25 сообщений из 45, страница 1 из 2
Как сериализовать объект из текста Json ?
    #39799323
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс Request и метод контроллера, который принимает этот класс в качестве параметра:
Код: c#
1.
2.
[HttpPost]
public string Request(request Request)


Как я понимаю, класс сериализуется из Json текста, которой в этот метод посылают пользователи.
Дело в том, что стандартный сериализатор сериализует объект не совсем так, как хотелось бы (в частности List<> и Dictonary<>).

Можно как то написать свой сериализатор ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799330
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то каша какая-то.
У тебя пользователи не в браузере, а в толстом клиенте на .NET?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799338
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BМожно как то написать свой сериализатор ?
Реализовать свой IModelBinder , либо попытаться настроить сериализатор.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799348
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,
Нажми F12 и покажи что отправляют прльзователи в кавычках.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799351
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЧто-то каша какая-то.
У тебя пользователи не в браузере, а в толстом клиенте на .NET?
Что то типо.
И не обязательно на .NET

По сути, текст в POST может сделать кто угодно, и как угодно.
Проблема со списками, которые есть в классе Request.

Конечно, можно заставить присылать Json строгом в формате под текущий сериализатор.
Но где гарантия, что со обновлением VisualStudio этот формат не измениться ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799352
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЧто-то каша какая-то.
У тебя пользователи не в браузере, а в толстом клиенте на .NET?присоединяюсь к вопросу)
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799355
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BПроблема со списками,покажи их.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799356
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BПо сути, текст в POST может сделать кто угодно, и как угодно.добро пожаловать в REST.
1. Можно не делать много параметров и передать их в урл без json.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799358
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BКонечно, можно заставить присылать Json строгом в формате под текущий сериализатор.
Но где гарантия, что со обновлением VisualStudio этот формат не измениться ?
А был прецедент?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799366
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BНо где гарантия, что со обновлением VisualStudio этот формат не измениться ?А причем тут вообще VS? Какое отношение сериализатор к ней имеет?


Как связаны этим две вещи?
Valery_Bстандартный сериализатор сериализует объектValery_BИ не обязательно на .NET
По сути, текст в POST может сделать кто угодно, и как угодно.
Причем тут сериализатор на сервере, если тебе извне непонятно кто непонятно в каком формате присылает JSON.
Вероятно, речь идет о десериализации. Но тут опять же подход непонятен. Ты пишешь АПИ, к нему есть определенные требования к присылаемой информации, если информация приходит в некорректном формате, то клиент получает ошибку

Короче, пример давай.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799371
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА был прецедент?
Не знаю... Наверное нет.
Но и где гарантии того, что формат Json не изменится ?
Petro123покажи их.
Получается, что список может быть jArray, а может быть и jObject.
Можно сериализовать разными способами, видимо, зависит от языка, на котором сериализуется объект.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
Можно так:
 [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"} ]

А можно и так:
{
"Items": [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"}     ]
}
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799375
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Я со всем согласен, но:
1. Ты можешь дать ссылку, где написано, что объекты всегда будут сериализовываться строго в текущий Json ?
2. Вопрос в общем то - как изменить стандартную сериализацию ? А правильно это или нет - это другая тема.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799385
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B1. Ты можешь дать ссылку, где написано, что объекты всегда будут сериализовываться строго в текущий Json ?Расшифруй понятие "текущий json", а то я что-то не сталкивался
Valery_B2. Вопрос в общем то - как изменить стандартную сериализацию ? А правильно это или нет - это другая тема.я так и не понял, что тебе нужно - свой сериализатор или свой десериализатор. Из твоих слов следует, что сериализация тебе неподконтрольна и ты вообще не понимаешь, в каком формате тебе придет JSON, следовательно вопрос - а как ты собираешься писать для него десериализатор?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799386
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BМожно сериализовать разными способами, видимо, зависит от языка, на котором сериализуется объект.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
Можно так:
 [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"} ]

А можно и так:
{
"Items": [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"}     ]
}

Это разные объекты, в первом случае массив, во втором случае объект со свойством Items
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799390
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.. если такой цирк с сериализаторами, то тогда принимать как строку, а потом парсить её под "текущий json" (если получится) ... что еще не меньший цирк ...
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799400
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik.. если такой цирк с сериализаторами, то тогда принимать как строку, а потом парсить её под "текущий json" (если получится) ... что еще не меньший цирк ...+1
)))
Либо выжигать цирк каленым железом.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799401
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProРасшифруй понятие "текущий json", а то я что-то не сталкивался
Текущий json - это такой текст, из которого получается объект.
Если какой либо сериализатор (в будущем), найдёт список List<string> в объектре и добавит "Items":[..]", то он не будет сериализовыватся в "текущем json".
Valery_Bя так и не понял, что тебе нужно - свой сериализатор или свой десериализатор.
Я хочу, что бы параметр метода(объект) сериализовывался мной, а не автоматически.
Пусть даже в тоже самое.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799402
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BПолучается, что список может быть jArray, а может быть и jObject.
Можно сериализовать разными способами, видимо, зависит от языка, на котором сериализуется объект.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
Можно так:
 [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"} ]

А можно и так:
{
"Items": [{"ID":1,"Name":"Vasya"}, {"ID":2,"Name":"Petya"}     ]
}


Передай в урл без json.
Рано тебе api делать.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валидируй на входе и отфутболивай плохой формат.
Моя тема:
Подскажите валидатор json.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799411
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЭто разные объекты, в первом случае массив, во втором случае объект со свойством Items
Создай аналог класса на разных языках и посмотри, какой Json они сгенерируют.
Код: c#
1.
2.
3.
4.
5.
6.
 public class MyUser
    {
        public string FullName { get; set; }
        public string LoginName { get; set; }
        public Dictionary<string, string> Roles { get; private set; }
    }


Он у всех будет разный, пример я давал.
Если это зависит от ЯП, то где гарантия он не изменится в ASP.NET от версии к версии?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799415
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В частности приходит ошибка при { вместо [.
В моём случае это не ошибка, а зависит от сериализатора/десириализатора.

Я хочу, что бы это было это было написано руками, а не автоматически.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799421
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BPetro123В частности приходит ошибка при { вместо [.
В моём случае это не ошибка, а зависит от сериализатора/десириализатора.

Я хочу, что бы это было это было написано руками, а не автоматически.
ЭТО руками это что?
Если клиент может быть ЛЮБОЙ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799423
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BВ моём случае это не ошибкая там исправлял у себя эту ситуацию руками.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799424
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,

..на том же JS c разными библиотеками/фрейморками JSON.stringify(obj) может выдать разные результаты из-под knockout и vue .. Но на то и кодер на клиентской стороне, чтобы отформатировать JSON под требование API, а не наоборот ...
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799428
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BНе знаю... Наверное нет.
Но и где гарантии того, что формат Json не изменится ?
Где, где, JSON стандартизован:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сериализовать объект из текста Json ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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