|
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
Я тоже не понимаю что в этом ужасного, нужно скопировать одну структуру в другую. Как? рекурсией. сервер работает с той моделью что отправляет, мне надо работать с ней же у себя.
зачем сопоставлять каждое свойство с классом вручную, когда можно сделать циклом? |
|
|||||
Вы уж извиняйте, что я вашу тему заспамил. )
Чтот вы совсем куда-то не туда заплыли. У вас есть ключи, вот по ним и разбирайте полученный json: var data = {name:'playerName', balance:{coins:5,gold:10}}; var player = new Player(); player.name = data["name"]; player.balance = getPlayerBalance(data["balance"]); function getPlayerBalance(data){ if(data === null) return null; var balance = new Balance; balance.coins = data["coins"]; balance.gold = data["gold"]; return balance; }
__________________
Дети не должны знать о своих родителях |
|
|||||
Цитата:
Цитата:
Из этой темы мне не понятно одно: зачем нужно получать имя класса?
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Какой смысл преобразовывать объект после парсера? Метод parse принимает два параметра и второй, как раз и предназначен для парсинга "вручную" с десериализацией и библиотекаршами.
Добавлено через 5 минут 2Tails не "взять" <-> "переложить", а "взять" <-> "создать", как пример. Ну и ничто не мешает вам некоторые составные модели парсить одним парсером, если это целесообразно. Смысл в том, чтобы отвязать модель от конкретного протокола/формата передачи данных.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Цитата:
В моём случае, модель отделена от протокола передачи данных, но в модель зашита структура передаваемых данных.
__________________
Дети не должны знать о своих родителях |
|
|||||
Я про стандартный JSON.parse и говорил вообще-то.
Добавлено через 1 минуту Значит не отделена.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Я вот о чём думаю, так ли важно отделять структуру передаваемых данных? Ведь она фактически описывает структуру модели. Просто так структура передаваемых данных не будет изменяться, а вот формат передачи этой структуры легко может быть заменён. Действительно ли это нужно, что бы структура передаваемых данных тоже была не зависима от модели? Какие на практике могут быть ситуаций, когда требуется поменять не только формат, а ещё и структуру передаваемых данных?
Ммм надо подумать конечно, пораскинуть мозгами. Может быть, такие парсеры будут хорошо работать вместе с фабриками. Может я где то не прав или с чем то ещё не сталкивался, скажите мне. Было бы интересно глянуть на пример реального проекта, где такие "умные" парсеры грамотно реализованы и к месту.
__________________
Дети не должны знать о своих родителях |
|
|||||
Например, в текущем проекте, у меня некоторые модели слабо коррелируют с передаваемыми данными. Более того, заполняются и обновляются они более чем с одного запроса. Не всегда структура удобная для приложения будет удобной или уместной для сервера. Или, например, одним запросом могут обновлятся несколько моделей и не всегда они будут связаны друг с другом. И на горизонте маячит смена протокола, что потенциально повлечет изменения в формате данных, так что вся работа по работе с протоколом и преобразованию данных реализована в контроллерах (командах), которые локализуют логику запрос-ответ или запускаются по сообщению от сервера и обновляют модели.
Ну или посмотрите, как обычно реализуется синхронизация в сетевых играх.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Как хорошо, что есть Ванила для джейсона )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
cleptoman, да, тоже слышал про нее и думал использовать. но выше почему-то настоятельно рекомендуют так не делать)
|
Часовой пояс GMT +4, время: 02:33. |
|
« Предыдущая тема | Следующая тема » |
|
|