https://github.com/agrosner/acela
Ridiculously fast and feature-rich json parsing and serialization library.
https://github.com/agrosner/acela
Last synced: 9 days ago
JSON representation
Ridiculously fast and feature-rich json parsing and serialization library.
- Host: GitHub
- URL: https://github.com/agrosner/acela
- Owner: agrosner
- License: other
- Created: 2015-08-11T18:57:04.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-10-31T23:58:02.000Z (about 10 years ago)
- Last Synced: 2025-02-28T12:20:07.479Z (9 months ago)
- Language: Java
- Size: 723 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Acela
Acela is a powerful and blazing-fast JSON parser and serializer with __annotation processing__ backed by [Jackson Streaming API](https://github.com/FasterXML/jackson-core).
This library is built on speed, performance, and approachability. Not only does it eliminate most boilerplate code for parsing JSON data into model classes and back to JSON, but also provides a very flexible and simple API to manage how data is parsed.
What sets this library apart:
1. Built on speed, its faster than nearly anything out there.
// insert graph here
2. Support for custom conversions from JSON
3. Perform custom logic by listening for parse/serialize events using `SerializeListener`, `ParseListener` or the more specific `ParseKeyListener` and `SerializeKeyListener`
4. Support for merging different JSON sources together using the `@Mergeable`annotation.
5. Support for subclassing non-Translatable classes and parsing data into them using `@InheritedField`
## Getting Started
Will be up soon.
```groovy
buildscript {
repositories {
jcenter()
}
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
allprojects {
repositories {
jcenter()
}
}
```
Add the library to the project-level build.gradle, and use the [apt plugin](https://bitbucket.org/hvisser/android-apt):
```groovy
apply plugin: 'com.neenbedankt.android-apt'
dependencies {
compile "com.andrewgrosner.acela:library:1.0.0"
}
```
## Changelog
## Usage Docs
For more detailed usage, check out these sections:
[Getting Started](https://github.com/agrosner/Acela/blob/master/usage/GettingStarted.md)
[Merging Objects](https://github.com/agrosner/Acela/blob/master/usage/Mergeable.md)
[Inheriting Fields](https://github.com/agrosner/Acela/blob/master/usage/InheritedField.md)
[Listening For Parse/Serialize Events](https://github.com/agrosner/Acela/blob/master/usage/EventListening.md)
[Custom Type Converters](https://github.com/agrosner/Acela/blob/master/usage/TypeConverters.md)
[Customizing Serialization and Parsing](https://github.com/agrosner/Acela/blob/master/usage/CustomTranslatable.md)