|
|
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Предложите пожалуйста варианты как можно обеспечить масштабируемость JSON парсера. Например возможен вариант когда в JSON'e появятся новые поля или каких-нибудь не станет, нужно написать парсер чтобы он верно отработал и распарсил JSON. Это и имею ввиду под масштабируемостью. Заранее спасибо за идеи !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2016, 16:26 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kЭто и имею ввиду под масштабируемостью. Прикольно. Брать существующие термины и приписывать и свои вымыслы. https://www.google.com/#q=масштабируемость То что вы описываете называется "обратной совместимостью". И никаких особых хитростей тут нет. Удаление чего-либо всегда плохо для обратной совместимости. Поэтому одно из самых распространенных правил - ничего не удалять. Только добавлять новое. А при добавлении всё просто. Нужно читать данные не по порядку, а по ключам. Вычитали все key-value, взяли только те ключи, которые понимаем. И так дальше по дереву. https://www.google.com/#q=Обратная совместимость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2016, 16:44 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Не знаю как вы себе понимаете термин масштабируемость. В программировании это код в котором обработаны всякие исключительные ситуации. В моем случае исключительной ситуацией является изменение формата JSON'a. Нужно сделать так чтобы парсер отработал корректно даже если JSON немного изменится. Обратная совместимость здесь ни причем. Парсер должен быть написан один раз. Нужно все в нем предусмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2016, 17:12 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kВ программировании это код в котором обработаны всякие исключительные ситуации. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2016, 17:41 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kкак можно обеспечить масштабируемость JSON парсера. Например возможен вариант когда в JSON'e появятся новые поля или каких-нибудь не станет, нужно написать парсер чтобы он верно отработал и распарсил JSON. Это и имею ввиду под масштабируемостью. Никак, поскольку слово "парсер" не существует. И во всяком случае писать не надо, потому что все "парсеры" написаны до вас. Достаточно выбрать, что больше нравится. Например, сейчас я использую библиотеку Jackson для чтения и записи JSON. Она мне нравится тем, что допускает единообразную работу и с XML. При этом надо создать Java-класс, содержащий поля, соответствующие полям JSON. При чтении JSON можно задать, чтобы новые поля в нём игнорировались, или чтобы возникало исключение (оно полезно, чтобы узнать о факте добавления). Если поля пропадают, то соответствующее поле в Java классе будет null, что при желании можно проверить. Отличить незаполненное поле от несуществующего тоже можно. Но я назвал одну библиотеку. Поскольку мне неохота перечислять и сравнивать существующие, то надо самому ознакомиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2016, 17:45 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kПредложите пожалуйста варианты как можно обеспечить масштабируемость JSON парсера. Например возможен вариант когда в JSON'e появятся новые поля или каких-нибудь не станет, нужно написать парсер чтобы он верно отработал и распарсил JSON. Это и имею ввиду под масштабируемостью. Заранее спасибо за идеи !!! Тут сразу куча ошибок в самой подаче вопроса. Во первых JSON-парсеры никто не разрабатывает уже. Их создано аж более 4х штук (GSON,org.json,Jackson...) и их надо просто использовать. По поводу масштабирования уже сказали. Вы рискуете быть непонятым в приличном обществе. Вобщем читайте википедию и ищите смыслы. Как написать парсер - чтобы он "верно отработал" .... ну наверное надо посмотреть как вы его (парсер) используете. Возможно надо где-то поставить if.... или где-то mapping указать... вобщем нужны детали. В противном случае получится философский спор на тему "может ли философ выпить море..." Надеюсь понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 00:58 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kНапример возможен вариант когда в JSON'e появятся новые поля или каких-нибудь не станетДля этого можно воспользовать след. методами: Код: xml 1. 2. 3. Либо просто пробегаемся по всем имеющимся полям объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 03:13 |
|
||
|
Масштабируемость JSON парсера
|
|||
|---|---|---|---|
|
#18+
Andrey3kНужно сделать так чтобы парсер отработал корректно даже если JSON немного изменится. Умиляет. Ну, "парсер" может собрать все значения в Map и ему абсолютно не важно какие именно там ключи и значения. Но бизнес-логика что будет делать с этими изменениями, умник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2016, 09:09 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2124000]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 353ms |

| 0 / 0 |
