79 مستودعات
Libraries for parsing, emitting, and handling data formats like YAML and JSON.
Explore 79 awesome GitHub repositories matching part of an awesome list · Data Serialization. Refine with filters or upvote what's useful.
Protocol Buffers هي آلية محايدة للغة ومستقلة عن النظام الأساسي لتسلسل البيانات المهيكلة. توفر سلسلة أدوات قائمة على المخطط (schema) تقوم بتجميع تعريفات البيانات التعريفية إلى كود مصدري آمن من حيث النوع، مما يتيح تواصلاً متسقاً وعقود API مكتوبة بقوة عبر الخدمات المكتوبة بلغات برمجة مختلفة. يتميز المشروع بتنسيق ثنائي عالي الكفاءة يستخدم ترميزاً قائماً على العلامات وضغط الأعداد الصحيحة متغير العرض لتقليل حجم الحمولة وعبء المعالجة. وهو يدعم إدارة المخطط التطوري القوية، مما يسمح للمطورين بتحديث هياكل البيانات تدريجياً مع الحفاظ على التوافق مع الإصدارات السابقة واللاحقة. يتم دعم ذلك بشكل أكبر من خلال نظام إصدارات يدير مجموعات الميزات ومنطق التسلسل عبر مكونات البرمجيات الموزعة. بعيداً عن التسلسل الثنائي الأساسي، يتضمن المشروع قدرات لتحويل JSON القانوني مع التحقق من المخطط، والتحكم الدقيق في رؤية الرموز، وتتبع وجود الحقول للتمييز بين القيم الافتراضية وغير المعينة. كما يوفر تحسينات متخصصة، مثل إدارة الذاكرة القائمة على الساحة (arena-based) لتطبيقات C++، لتحسين الأداء أثناء إنشاء وتنظيف أشجار الرسائل المعقدة.
Google's language-neutral data interchange format.
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 library for performance-critical applications.
Gson is a Java library designed for the serialization and deserialization of objects into structured text formats. It functions as a reflection-based data mapper, inspecting class structures at runtime to automatically convert memory-resident objects into data representations and reconstruct them back into typed language objects. The library distinguishes itself through a modular type-adapter pattern that allows for custom conversion rules for complex or nested structures. It also provides robust support for production environments by generating build-time metadata and configuration rules, wh
Library for serializing and deserializing Java objects.
This project is a high-performance JSON library for Go, serving as a replacement for the standard encoding/json package. It provides a serialization engine for encoding and decoding data structures, alongside a schemaless parser for extracting specific values from JSON blobs using paths. The library distinguishes itself through a focus on reducing CPU and memory overhead. It implements a high-performance encoder that utilizes buffer reuse and reduced float precision to increase data throughput. Broad capability areas include data serialization, high-performance JSON processing, and schema-le
High-performance drop-in replacement for encoding/json.
Moshi is a JSON serialization library and parser for Kotlin and Java. It functions as a reflectionless JSON encoder that converts typed objects to JSON strings and parses JSON data back into language objects. The library distinguishes itself through compile-time adapter generation, which removes the performance overhead associated with runtime reflection. It also provides a polymorphic JSON mapper that uses type identifiers to resolve and instantiate specific subclasses of a common base type. The framework supports custom adapter definitions for specialized type conversion, including nullabi
Modern JSON library for Android and Java.
هذا المشروع هو تطبيق لـ Protocol Buffers بلغة Go، ويوفر إطار عمل للتسلسل الثنائي (binary serialization) لتحويل هياكل البيانات الأصلية إلى تنسيق ثنائي مضغوط لضمان كفاءة نقل البيانات وتخزينها. يعمل المشروع كمولد لروابط اللغات، حيث يستخدم إضافة للمترجم (compiler plugin) لإنشاء كود مصدر Go من تعريفات Protocol Buffers المحايدة. يتضمن التطبيق أداة لتعيين بيانات JSON تقوم بتحويل الرسائل الثنائية المهيكلة إلى تنسيق JSON لتسهيل التوافق مع خدمات الويب وواجهات برمجة التطبيقات (APIs) الخارجية. كما يتيح تبادل البيانات بين لغات مختلفة باستخدام مخطط تعريف مشترك لمشاركة البيانات المهيكلة بين لغات برمجة متنوعة. تغطي المكتبة قدرات واسعة لتسلسل البيانات وإلغاء تسلسلها، بما في ذلك القدرة على معالجة الرسائل المهيكلة عبر الاستنساخ، والدمج، والمقارنة. كما توفر آليات لفحص الرسائل بناءً على الانعكاس (reflection) ودمج الرسائل المتكرر للحفاظ على اتساق الحالة عبر الأنظمة الموزعة.
Official Google protocol buffers support.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
High-performance JSON processor.
orjson is a high-performance Python library for serializing and deserializing JSON data. It functions as both a JSON parsing library and a serialization engine, converting data between native Python objects and UTF-8 encoded bytes. The project provides specialized support for converting complex Python data structures, including dataclasses, datetime objects, and NumPy arrays and scalars, into JSON format. It also allows for the insertion of pre-serialized JSON blobs into documents to maintain processing speed. The library includes capabilities for memory-efficient deserialization through key
Fast, correct JSON library with support for dataclasses and datetimes.
mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags
Decoding generic maps into native Go structures.
MessagePack is a binary object serialization library and a cross-platform data exchange format. It serves as a binary alternative to JSON, converting structured data into a space-efficient binary representation for network transmission and storage. The system provides a standardized format for swapping complex data types across different programming languages and architectures. It allows for the definition of custom data type encoding by pairing application-specific information with specialized serialization markers. The library handles the encoding and decoding of diverse data types, includ
Binary serialization format for efficient cross-language data exchange.
Marshmallow is a Python data serialization library and validation framework. It functions as a bridge that transforms complex application objects into primitive data types for storage or network transmission and vice versa. The library utilizes a schema-based approach to validate that incoming data conforms to specific types and constraints. It employs a two-way transformation pipeline consisting of separate load and dump phases to handle deserialization and serialization. The framework supports class-based schema definitions with declarative field validation and recursive schema nesting for
Lightweight library for object serialization and validation.
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 Java serialization and cloning library.
yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c
YAML parser and emitter for C++.
This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp
Protocol buffers with support for gadgets.
yyjson is a high-performance C library for parsing, serializing, and manipulating JSON data structures. It functions as a memory-efficient data tool that utilizes custom memory pools and contiguous block allocation to minimize fragmentation and overhead. The project distinguishes itself as a SIMD JSON processor, using hardware-accelerated vector instructions for rapid string validation and parsing. It provides a toolkit for querying, modifying, and patching nested JSON objects and arrays through pointer-based access and path expressions. The library covers a broad range of data manipulation
High-performance JSON library implemented in C.
faster JSON serialization for Go
High-speed JSON serialization library for Go.
crates-io: https://crates.io/crates/protobuf crates-io-shields: https://img.shields.io/crates/v/protobuf.svg docs-rs: https://docs.rs/protobuf docs-rs-shields: https://img.shields.io/badge/docs.rs-rustdoc-green.svg actions:…
Implementation of Google Protocol Buffers.
Bond was a cross-platform framework for working with schematized data. The open-source project ended on March 31, 2025.
Framework for working with schematized data in high-scale services.
API DocumentationAPI documentation
High-performance HTML5 parsing library.
documentation
Implementation of the Cap'n Proto serialization format.