An open API service indexing awesome lists of open source software.

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).

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 `_.
=============================================================