Текущая реализация MAJsonWriter (PR Ma json writer optimize) состоит из двух классов: MAValueJsonWriter (кодирует скалярные значения), MAObjectJsonWriter (кодирует объекты). Каждый класс предоставляет пару методов - write_json (для преобразования исходной модели в jsonable объект) и write_json_string (для преобразования модели в строку JSON).
Необходимо сделать визиторы (допустим, MAValueJsonReader и MAObjectJsonReader), выполняющие обратные преобразования: из JSON-строки в скалярное значение или объект-модель, из jsonable объекта в скалярное значение или объект-модель.
Текущая реализация MAJsonWriter (PR Ma json writer optimize) состоит из двух классов: MAValueJsonWriter (кодирует скалярные значения), MAObjectJsonWriter (кодирует объекты). Каждый класс предоставляет пару методов - write_json (для преобразования исходной модели в jsonable объект) и write_json_string (для преобразования модели в строку JSON). Необходимо сделать визиторы (допустим, MAValueJsonReader и MAObjectJsonReader), выполняющие обратные преобразования: из JSON-строки в скалярное значение или объект-модель, из jsonable объекта в скалярное значение или объект-модель.