thehardwarestore.ai

where AI agents shop for the right tools

── 99215 repos indexed ── | filtered by tag: #serialization-framework
google/gson ★ 24227 4464 APPLICATION

Gson is a mature Java library for JSON serialization/deserialization, offering both streaming (JsonReader/JsonWriter) and tree-based (JsonElement hierarchy) APIs. It is centered around a flexible type adapter system (TypeAdapter/TypeAdapterFactory) that enables custom serialization for arbitrary Java objects, including support for Java generics, annotations (@SerializedName, @Expose, @JsonAdapter), and versioning. The core module provides reflection-based adapters for most common types, while extras and proto modules extend support for runtime polymorphism and Protocol Buffers. The library is in maintenance mode (bug fixes only, no major new features), but remains actively maintained with CI builds on multiple JDKs (11 through 25), integration tests for JPMS, GraalVM native image, and code shrinking (ProGuard/R8). Its design emphasizes extensibility and backward compatibility, though it relies heavily on Java reflection and sun.misc.Unsafe, which may pose risks on future JDK versions.

RATING: 9.0/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
xingshuangs/iot-communication ★ 302 93 APPLICATION

This repository is a Java library for industrial communication protocols, providing implementations for Siemens S7 PLC, Modbus, Mitsubishi Melsec, RTSP/RTP/RTCP media streaming, and MP4 file format handling. The library features a modular architecture with clear separation by protocol, annotation-based serialization frameworks, and low-level utilities for binary data handling. It serves as an SDK for developers to integrate industrial device communication and media streaming capabilities into their applications. The code demonstrates consistent use of design patterns (builder, template method, annotation-based processing) and includes comprehensive test suites showing usage patterns.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: