https://github.com/mfatihercik/dsm
Declarative Stream Mapping (DSM) is a stream de/serializer library for XML and JSON. DSM allows you to make custom parsing, filtering, transforming, aggregating, grouping on any JSON or XML document at stream time(read only once).
https://github.com/mfatihercik/dsm
json json-mapper json-parser json-stream json-to-xml json-transformation xml xml-mapping xml-parser xml-parsing xml-stream-parsing xml-to-json xml-transformation
Last synced: 17 days ago
JSON representation
Declarative Stream Mapping (DSM) is a stream de/serializer library for XML and JSON. DSM allows you to make custom parsing, filtering, transforming, aggregating, grouping on any JSON or XML document at stream time(read only once).
- Host: GitHub
- URL: https://github.com/mfatihercik/dsm
- Owner: mfatihercik
- License: mit
- Created: 2019-03-05T19:57:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-14T07:41:53.000Z (over 2 years ago)
- Last Synced: 2024-04-16T20:00:29.074Z (almost 2 years ago)
- Topics: json, json-mapper, json-parser, json-stream, json-to-xml, json-transformation, xml, xml-mapping, xml-parser, xml-parsing, xml-stream-parsing, xml-to-json, xml-transformation
- Language: Java
- Homepage: https://mfatihercik.github.io/dsm
- Size: 4.73 MB
- Stars: 29
- Watchers: 5
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Introduction
============
Declarative Stream Mapping(DSM) is a *stream* deserializer library that makes parsing of **XML and JSON** easy.
DSM allows you to make custom parsing, filtering,
transforming, aggregating, grouping on any
JSON or XML document at stream time(read only once).
DSM uses yaml or json for configuration definitions
**If you parsing a complex, huge file and
want to have high performance and low memory usage then DSM is for you.**
Features
==============
- **Work** for both **XML** and **JSON**
- **Custom stream parsing**
- **Filtering** by value on any field with very **low cognitive complexity**
- Flexible value **transformation**.
- **Default value assignment**
- Custom **function calling** during parsing
- **Powerful Scripting** (`Apache JEXL `_, Groovy, Javascript and other jsr223 implementations are supported)
- **Multiple inheritance** between DSM config file (DSM file can **extends to another config file**)
- **Reusable fragments support**
- Very **short learning curve**
- **Memory** and **CPU** efficient
- **Partial data extraction** from JSON or XML
- **String manipulation** with expression
==============
Installation
==============
**Jackson**
.. code-block:: xml
com.github.mfatihercik
dsm
1.0.5
**Gradle**
.. code-block:: xml
compile ('com.github.mfatihercik:dsm:1.0.5')
=============================================================
`Documentation `_.
=============================================================