25 dépôts
Libraries that handle data serialization with high efficiency.
Explore 25 awesome GitHub repositories matching part of an awesome list · Serialization. Refine with filters or upvote what's useful.
FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu
Memory-efficient serialization without unpacking or parsing.
Newtonsoft.Json is a data processing utility for the .NET ecosystem designed to facilitate the transformation and exchange of information. It functions as a serialization library and object mapping framework, enabling the conversion of complex application objects into formatted JSON strings and the reconstruction of structured objects from raw JSON data. The library distinguishes itself through a flexible architecture that supports both strongly-typed class mapping and a dynamic object model for schema-less data manipulation. It employs reflection-based metadata mapping to automate property a
Popular high-performance JSON framework.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
High-performance MessagePack serializer.
Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen
Fast and efficient object graph serialization.
CsvHelper est une bibliothèque pour lire et écrire des fichiers de valeurs séparées par des virgules en mappant les données à des objets de classe personnalisés. Elle fonctionne comme une bibliothèque d'analyse et un mappeur de données qui convertit le texte de fichier plat en objets de données structurés et sérialise les ensembles de données internes en fichiers CSV standard. Le projet met l'accent sur l'efficacité de la mémoire via un analyseur qui optimise la consommation des ressources. Il utilise la mise en cache des valeurs de champ et un cache de chaînes internées pour stocker les valeurs répétitives, ce qui réduit la surcharge de mémoire lors du traitement de grands ensembles de données. La bibliothèque fournit un moteur d'analyse piloté par la configuration qui prend en charge divers délimiteurs et caractères d'échappement. Elle gère la relation entre les colonnes CSV et les propriétés de classe en utilisant un mappage basé sur les attributs et une instanciation d'objet basée sur la réflexion. Le traitement est géré via une analyse séquentielle basée sur le flux pour gérer les fichiers à haut volume sans charger l'ensemble de données complet en mémoire.
CSV reading and writing library.
protobuf-net est un framework de sérialisation binaire et une bibliothèque .NET qui implémente la spécification Protocol Buffers. Il fonctionne comme un outil de sérialisation basé sur un schéma et un mappeur de données "contract-first", convertissant des graphes d'objets complexes en un format binaire compact pour le stockage et la transmission réseau. La bibliothèque permet l'échange de données multiplateforme et la mise en réseau haute performance en réduisant la taille des charges utiles et le temps de traitement. Elle prend spécifiquement en charge la persistance de la hiérarchie des objets, permettant la sérialisation et la reconstruction de structures de classes complexes incluant l'héritage et les types dérivés. Le projet couvre des capacités fondamentales, notamment la sérialisation et la désérialisation de données binaires, la génération de classes pilotée par schéma et la gestion de l'héritage de types via des identifiants uniques. Il fournit des mécanismes pour mapper les structures de données via des attributs statiques ou des configurations dynamiques au runtime.
Protocol Buffers library.
Fury est un framework de sérialisation binaire multi-langage conçu pour encoder des objets de domaine et des graphes complexes afin de faciliter l'échange de données entre langages. Il inclut un compilateur de langage de définition d'interface (IDL) qui traduit les définitions de schéma en types natifs idiomatiques et en code de sérialisation répétitif à travers plusieurs langages. Le projet se distingue par un lecteur binaire zero-copy qui permet d'accéder à des champs spécifiques sans désérialiser l'objet entier, ainsi qu'un sérialiseur de graphe d'objets qui préserve les références circulaires et l'intégrité référentielle. Il dispose également d'un convertisseur de données qui transforme les données binaires basées sur des lignes en formats Apache Arrow colonnaires pour les charges de travail analytiques. Le framework couvre de vastes domaines de capacités, incluant l'évolution de schéma pilotée par métadonnées pour la compatibilité ascendante et descendante, un processus de compilation AOT au moment du build pour éliminer la réflexion à l'exécution, et une désérialisation sécurisée via une validation de type basée sur liste blanche. Il fournit en outre une intégration pour des appels de procédure à distance haute performance via gRPC.
Blazing fast JIT-powered zero-copy serialization framework.
YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that converts between .NET objects and YAML formatted text for data storage and configuration. The project provides capabilities for YAML document parsing and data object mapping. It transforms YAML streams into low-level representations or high-level object models for programmatic analysis and converts structured data objects back into valid YAML strings. The library covers general data serialization and configuration file management, allowing application data structures to be m
YAML serialization library.
Bond was a cross-platform framework for working with schematized data. The open-source project ended on March 31, 2025.
Cross-platform schematized data framework.
Infinitely Fast Deserializer for .NET, .NET Core and Unity.
Fast binary serializer.
Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).
Zero-allocation JSON serializer.
Fast .NET JSON (De)Serializer, Built On Sigil
High-performance JSON serializer.
FST: fast java serialization drop in-replacement
High-performance object graph serialization compatible with JDK.
MessagePack serializer implementation for Java / msgpack.orgJava
Efficient binary serialization format implementation.
.NET's fastest JSON, JSV and CSV Text Serializers
JSON, JSV, and CSV serializers.
MessagePack implementation for Common Language Infrastructure / msgpack.orgC#
MessagePack implementation.
Schema.org objects turned into strongly typed C# POCO classes for use in .NET. All classes can be serialized into JSON/JSON-LD and XML, typically used to represent structured data in the head section of html page.
Schema.org POCO classes.
EDI Serializer/Deserializer. Supports EDIFact, X12 and TRADACOMS formats
EDI format serializer.
Easy to use, easy to extend and high-performance library for CSV parsing with .NET
High-performance CSV parser.