|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2011, 11:22 | #1 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Json парсер
Привет всем!
Написал парсер json. Необходимо потестить. Что парсер умеет делать в теории: 1) Сохранять примитивы в соответствующие объекты в яваскрипте. 2) Сохранять итераторы, коллекции в списки яваскрипта. 3) Сохранять хэши, а также все остальные классы (не являющиеся числовыми, символьными, строковыми, итерируемыми) в хэши яваскрипта. 4) Загружать логические значения яваскрипта в логические значения, строки (true/false), числа (ноль/неноль) 5) Загружать числа яваскрипта в логические значения (ноль/неноль), числа, символ (код), строки 6) Загружать строки яваскрипта в логические значения (true/false), числа, символ (односимвольная строка), строку 7) Загружать списки яваскрипта в массивы, коллекции (при соответствии типов элементов) 8) Загружать хэши яваскрипта в хэши (при соответствии типов элементов), другие классы (ключи должны быть строками и соответствовать полям класса, при этом в лишние поля ставятся значения по умолчанию, поля могут отсутствовать, типы же остальных полей должны соответствовать), при этом допускается использование внутренних классов, нестатических, класс должен иметь конструктор по умолчанию. 9) Загружать все объекты яваскрипта в Object ЗЫ Методы для сохранения в json и загрузки из него соответственно save и load. ЗЫЫ Нужно убрать расширение .txt Последний раз редактировалось Carbon; 02.06.2011 в 11:50. |
02.06.2011, 22:36 | #3 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Цитата:
1) Работать с внутренними классами вообще не умеет (выводит как пустой хэш, при вводе насколько помню не заполняет поля) 2) То же и с нестатическими вложенными классами (правда вылетает эксепшн из-за наличия указателя на обрамляющий класс) 3) Если есть базовый класс A и производный B и есть список List<A>, заполненный объектами B, то парсер выводит элементы так, будто они созданы классом A, хотя если список такой List<Object>, то работает всё норм. 4) Невозможно нормально парсить списки с учётом разнородности элементов (что часто требуется): Код:
Это те глюки, что я заметил, может и другие есть. Но реально вымораживает на такое натыкаться: упал сервер и сижу ищу, где у меня баг, а оказывается это либа решила сумничать и не собрала/распарсила сообщение (и это хорошо, если она эксепшн кинула). Хотя... я на версию 1.6 ориентируюсь, перепроверю эти 4 случая, может и пофиксили. Но всё-таки, потестите мою либу. ок? |
|
02.06.2011, 22:59 | #4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Итак, как и обещал, потестил на эти 4 случая 1.7.1 версию билда.
1. остался Код:
Если преобразовывать в объект: Код:
2. пофикшен 3. пофикшен 4. остался |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
php и json | Abuhamed | PHP | 12 | 28.11.2010 17:41 |
Разбор JSON данных | AndreyK | Общие вопросы Delphi | 0 | 29.10.2010 22:55 |
JSON, Deplhi | Varossa | Работа с сетью в Delphi | 0 | 10.09.2010 15:14 |
Работа с JSON | Wayfer | Работа с сетью в Delphi | 3 | 09.07.2010 19:32 |
JSON и C++Builder | s2dent | Общие вопросы C/C++ | 0 | 15.06.2010 14:46 |