powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сериализовать объект из текста Json ?
20 сообщений из 45, страница 2 из 2
Как сериализовать объект из текста Json ?
    #39799429
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС.
JSON с фигурными обзови каноническим форматом post /set-user-infо и опиши в документации.
JSON c квадратными скобками обзови платным форматом и конвертируй на входе.
Всё.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799436
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikValery_B,

..на том же JS c разными библиотеками/фрейморками JSON.stringify(obj) может выдать разные результаты из-под knockout и vue .. Но на то и кодер на клиентской стороне, чтобы отформатировать JSON под требование API, а не наоборот ...
Всё верно.
Но если в JS возможен разный Json, то где нибудь написано, что такое не возможно в ASP NET ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799443
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAГде, где, JSON стандартизован:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
Json да, стандартизирован.
Только ты не совсем правильно понял.

Я говорю о том, что объекты могут быть сериализованы по разному.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799455
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,
Типо ты хотел без валидации обойтись принимая строку отовсюду и из свалки итернета.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799457
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё пример. Класс Datatable.
Можно де/сериализовать так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
{
  "Columns": 
    [
    {"ID": "Int"},
    {"Name": "String"},
    ],
  "Rows": 
    [
    ["1","John Smith"],
    ["2","Mary Williams"]    
    ]
}


И так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[ 
   {
     "ID":1,
    "Name":"John Smith"
   },
   {
     "ID":"2",
     "Name":"Marry Williams"
   }
]


Как указать, какой из этих json я жду в методе контроллера, который принимает Datatable ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799458
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BskyANAГде, где, JSON стандартизован:
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
Json да, стандартизирован.
Только ты не совсем правильно понял.

Я говорю о том, что объекты могут быть сериализованы по разному.
Ты либо определи требования (контракт), либо пиши свой IModelBinder, либо свои JavaScriptConverter (JsonConverter).

Код как написан, так и работает. И так и будет работать. Никакой магии.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799463
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BЕщё пример. Класс Datatable.
Можно де/сериализовать так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
{
  "Columns": 
    [
    {"ID": "Int"},
    {"Name": "String"},
    ],
  "Rows": 
    [
    ["1","John Smith"],
    ["2","Mary Williams"]    
    ]
}



И так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[ 
   {
     "ID":1,
    "Name":"John Smith"
   },
   {
     "ID":"2",
     "Name":"Marry Williams"
   }
]



Как указать, какой из этих json я жду в методе контроллера, который принимает Datatable ?
Ты об этом должен позаботиться: описать спецификацию, ручками, или Swagger какой использовать.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799465
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BКак указатьпереходи в soap. Там ты клиенты по урл скачают фоормат)))
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799466
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_Bjson я жду в методевопрос другой - с какой коллекцией ты СМОЖЕШЬ работать на бэкенде?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799471
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТы либо определи требования (контракт), либо пиши свой IModelBinder, либо свои JavaScriptConverter (JsonConverter).

По ссылке на IModelBinder я не понял, это и есть свой сериализатор, который я хочу ?
Если да, то можешь дать мини пример, как им пользоваться ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799483
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_Bсвой сериализатора ты его всем клиентам поставишь? И на java? Или как?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799528
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BskyANAТы либо определи требования (контракт), либо пиши свой IModelBinder, либо свои JavaScriptConverter (JsonConverter).

По ссылке на IModelBinder я не понял, это и есть свой сериализатор, который я хочу ?
Если да, то можешь дать мини пример, как им пользоваться ?
По ссылке интерфейс, который необходимо реализовать, используя десериализацию какую хочется.
В любом учебнике по ASP.NET MVC расписано про привязку моделей и ModelBinder.

Мини пример:
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
using System;
using System.IO;
using System.Web;
using System.Web.Mvc;

public class ModelBinder<TResult> : IModelBinder
{
    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        HttpRequestBase request = controllerContext.HttpContext.Request;
        string requestData;
        Stream requestStream = request.InputStream;

        requestStream.Seek(0, SeekOrigin.Begin);

        using (var reader = new StreamReader(requestStream))
        {
            requestData = reader.ReadToEnd();
        }

        try
        {
            return Deserialize(requestData);
        }
        catch (Exception ex)
        {
            ex.Data.Add("Request.Data", requestData);
            throw ex;
        }
    }

    protected TResult Deserialize<TResult>(string requestData)
    {
        // Тут пишешь код нужной тебе десериализации
    }
}
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799532
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123а ты его всем клиентам поставишь? И на java? Или как?
Только на своём сервере.

Можно в очередной раз перефразировать вопрос - я хочу принимать объект в своём строгом формате Json и заставить всех присылать именно в нём.
т.е.
Код: c#
1.
2.
[HttpPost]
public string Request(Table Datatable)


А Json, как из примера выше.

Как это сделать ?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799544
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BМожно в очередной раз перефразировать вопрос - я хочу принимать объект в своём строгом формате Json и заставить всех присылать именно в нём.заставить как?
Во время эксплуатации?
Выдавая ошибку при валидации что формат не соответствует.
Ты же лет на 5 прогу пишешь?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799560
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,
Ну а не заставляя, ВТИХУЮ конвертировать или ручной десериализатор подгонять под твой формат.
По моему это очевидно.
Удачи!
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799561
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BМожно в очередной раз перефразировать вопрос - я хочу принимать объект в своём строгом формате Json и заставить всех присылать именно в нём.тогда зачем тебе свой сериализатор?
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799577
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BPetro123а ты его всем клиентам поставишь? И на java? Или как?
Только на своём сервере.

Можно в очередной раз перефразировать вопрос - я хочу принимать объект в своём строгом формате Json и заставить всех присылать именно в нём.
т.е.
Код: c#
1.
2.
[HttpPost]
public string Request(Table Datatable)


А Json, как из примера выше.

Как это сделать ?

..вам уже сказали в разных вариантах: принимать строку ...через Context или напрямую Request(string BadJson) ... а потом уже в экшене парсить его на предмет "А где тут истинный JSON внутри этого дурацкого объекта" ...
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799580
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proтогда зачем тебе свой сериализатор?
Ну, например что бы метод контроллера
Код: c#
1.
2.
[HttpPost]
public string Request(Table Datatable)


Принимал объект DataTable(в данном случае) созданный из этого Json
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
{
  "Columns": 
    [
    {"ID": "Int"},
    {"Name": "String"},
    ],
  "Rows": 
    [
    ["1","John Smith"],
    ["2","Mary Williams"]    
    ]
}


А для других классов Json определённый мной, а не сериализатором C#.
Причины я уже называл.

Ладно, попробую как написал skyANA.
Хотя я не совсем понял, куда встраивать этот класс.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799583
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BПринимал объект DataTable(в данном случае) созданный из этого JsonИ зачем? Тут два этапа:
1) Принять JSON и десериализовать его в объект, СООТВЕТСТВУЮЩИЙ принятому JSON-у (стандартным десериализатором, заодно это и провалидирует пришедшие данные)
2) Замаппить полученный объект на DataTable (например с помощью автомаппера или вручную, если есть желание)

А писать свой десериализатор - глупость.
...
Рейтинг: 0 / 0
Как сериализовать объект из текста Json ?
    #39799601
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BЛадно, попробую как написал skyANA.
Хотя я не совсем понял, куда встраивать этот класс.
Гугл в помощь...
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сериализовать объект из текста Json ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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