JSONXML project is library used to parse/format tree-like object structures in most popular text formats: XML and JSON. For parsing it accepts "java.io.Reader" and return java object. For formatting it accepts java object and "java.io.Writer". Object is generally structure that contains Map and/or List elements. Map is ordered set of named items. List is set of unnamed items. Reflection may be used to convert objects into set of maps/lists and vice versa. JSON parser is implemented explicitly. XML parser is based on SAX parser and applies only certain rules for result. Library is designed to allow various entry points for variable decisions depending on end use needs. 1. Formats - formats are used to enable locale-specific parsing/formatting of numbers and dates. 2. ReflectiveBuilder - enables reflection. Default implementation uses getters/setters only. 3. ObjectsRegistry - used to keep track of parsed or formatted objects and allow resolvable references in formatted (text) form.