All Projects → lucidsoftware → xtract

lucidsoftware / xtract

Licence: Apache-2.0 license
A library to make it easy to deserialize XML to user types in scala

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to xtract

Drf Typed Views
Use type annotations to validate/deserialize request parameters in Dango REST Framework.
Stars: ✭ 181 (+212.07%)
Mutual labels:  deserialization
avro-serde-php
Avro Serialisation/Deserialisation (SerDe) library for PHP 7.3+ & 8.0 with a Symfony Serializer integration
Stars: ✭ 43 (-25.86%)
Mutual labels:  deserialization
bytes
Work with bytes and implement network protocols
Stars: ✭ 77 (+32.76%)
Mutual labels:  deserialization
Dart Json Mapper
Serialize / Deserialize Dart Objects to / from JSON
Stars: ✭ 206 (+255.17%)
Mutual labels:  deserialization
Jsonapi Rails
Rails gem for fast jsonapi-compliant APIs.
Stars: ✭ 242 (+317.24%)
Mutual labels:  deserialization
marshmallow-validators
Use 3rd-party validators (e.g. from WTForms and colander) with marshmallow
Stars: ✭ 24 (-58.62%)
Mutual labels:  deserialization
Orjson
Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
Stars: ✭ 2,595 (+4374.14%)
Mutual labels:  deserialization
sexp-grammar
Invertible parsing for S-expressions
Stars: ✭ 28 (-51.72%)
Mutual labels:  deserialization
pagser
Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler
Stars: ✭ 82 (+41.38%)
Mutual labels:  deserialization
rtoml
A fast TOML library for python implemented in rust.
Stars: ✭ 214 (+268.97%)
Mutual labels:  deserialization
Mashumaro
Fast and well tested serialization framework on top of dataclasses
Stars: ✭ 208 (+258.62%)
Mutual labels:  deserialization
Jsonapi Rb
Efficiently produce and consume JSON API documents.
Stars: ✭ 219 (+277.59%)
Mutual labels:  deserialization
har-rs
A HTTP Archive format (HAR) serialization & deserialization library, written in Rust.
Stars: ✭ 25 (-56.9%)
Mutual labels:  deserialization
Marshmallow Jsonapi
JSON API 1.0 (https://jsonapi.org/) formatting with marshmallow
Stars: ✭ 203 (+250%)
Mutual labels:  deserialization
json struct
json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
Stars: ✭ 279 (+381.03%)
Mutual labels:  deserialization
Aspjson
A fast classic ASP JSON parser and encoder for easy JSON manipulation to work with the new JavaScript MV* libraries and frameworks.
Stars: ✭ 165 (+184.48%)
Mutual labels:  deserialization
sqlathanor
Serialization / De-serialization support for the SQLAlchemy Declarative ORM
Stars: ✭ 105 (+81.03%)
Mutual labels:  deserialization
serde
🚝 (unmaintained) A framework for defining, serializing, deserializing, and validating data structures
Stars: ✭ 49 (-15.52%)
Mutual labels:  deserialization
pavlova
A python deserialisation library built on top of dataclasses
Stars: ✭ 32 (-44.83%)
Mutual labels:  deserialization
Anamnesis.jl
Fancy memoizing for expensive functions in Julia.
Stars: ✭ 18 (-68.97%)
Mutual labels:  deserialization

xtract

Build Status

Xtract is a scala library for deserializing XML. It is heavily inspired by the combinators in the Play JSON library, in particular the Reads[T] class.

See the introductory blog post.

Usage

To use Xtract in your sbt project add the following dependency:

"com.lucidchart" %% "xtract" % "2.2.1"

There is also an xtract-testing artifact which provides helpful matchers and other functions for use with specs2. To use in your test you can add the following sbt dependency:

"com.lucidchart" %% "xtract-testing" % "2.2.1" % "test"

Documentation

The scaladoc API for the core functionality is available at http://lucidsoftware.github.io/xtract/core/api/com/lucidchart/open/xtract/index.html.

Scaladocs for the specs2 extensions is available at http://lucidsoftware.github.io/xtract/testing/api/com/lucidchart/open/xtract/index.html.

Example

An example project using xtract can be found at http://github.com/lucidsoftware/xtract-example.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].