awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to mitchellh/mapstructure

Open-source alternatives to Mapstructure

30 open-source projects similar to mitchellh/mapstructure, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mapstructure alternative.

  • kelseyhightower/envconfigkelseyhightower 的头像

    kelseyhightower/envconfig

    5,404在 GitHub 上查看↗

    envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any

    Go
    在 GitHub 上查看↗5,404
  • alecthomas/kongalecthomas 的头像

    alecthomas/kong

    2,976在 GitHub 上查看↗

    Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg

    Gocommand-linecommandsflags
    在 GitHub 上查看↗2,976
  • knadh/koanfknadh 的头像

    knadh/koanf

    3,871在 GitHub 上查看↗

    koanf is a configuration management library for Go designed to load, merge, and unmarshal application settings from multiple sources into structured objects. It functions as a multi-source config loader that aggregates data from environment variables, files, and remote providers into a single unified map. The system utilizes a pluggable architecture for parsing and data abstraction, allowing it to transform bytes from formats such as JSON, YAML, and TOML into nested maps. It supports dynamic configuration watching to monitor external sources and trigger automatic reloads when settings change.

    Goconfigconfig-loaderconfiguration
    在 GitHub 上查看↗3,871

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Find more with AI search
  • caarlos0/envcaarlos0 的头像

    caarlos0/env

    6,004在 GitHub 上查看↗

    env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,

    Goconfigconfigurationenvironment
    在 GitHub 上查看↗6,004
  • go-validator/validatorgo-validator 的头像

    go-validator/validator

    1,335在 GitHub 上查看↗

    This project is a data validation framework for the Go programming language that enforces integrity by applying declarative constraints to struct fields. It utilizes reflection to inspect data structures at runtime, mapping field-level requirements defined in struct tags to specific validation logic. The library distinguishes itself through its ability to handle complex object graphs by recursively traversing nested structures and slices. It supports context-aware validation, allowing developers to switch between different rule sets for the same data structure based on application state or sp

    Go
    在 GitHub 上查看↗1,335
  • lightbend/configlightbend 的头像

    lightbend/config

    6,309在 GitHub 上查看↗

    This is a configuration library for JVM applications that parses HOCON, JSON, and Java properties files into an immutable tree structure. It resolves ${...} placeholders by traversing the configuration tree and falling back to environment variables and system properties, and validates loaded configurations against a reference schema. The library loads configuration from classpath resources, files, URLs, system properties, and environment variables, merging them with priority-based override semantics. It provides typed value access with automatic type coercion, supports dot-path navigation,

    Javaconfiguration-libraryhoconsupported
    在 GitHub 上查看↗6,309
  • thoas/go-funkthoas 的头像

    thoas/go-funk

    4,939在 GitHub 上查看↗

    go-funk is a functional programming library for Go that provides a set of helper functions to transform and query slices and maps. It enables a declarative coding style for collection manipulation and data transformation, reducing the need for repetitive manual loops. The library implements higher-order functions for common operations, including mapping, filtering, and searching through data structures using predicates and callbacks. It includes utilities for detecting element existence and finding common elements between collections. These capabilities are supported through generic-based ty

    Go
    在 GitHub 上查看↗4,939
  • davidanson/markdownlintDavidAnson 的头像

    DavidAnson/markdownlint

    5,855在 GitHub 上查看↗
    JavaScriptcommonmarklintmarkdown
    在 GitHub 上查看↗5,855
  • msgspec/msgspecmsgspec 的头像

    msgspec/msgspec

    3,821在 GitHub 上查看↗

    msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead

    Pythondeserializationjsonjson-schema
    在 GitHub 上查看↗3,821
  • yargs/yargsyargs 的头像

    yargs/yargs

    11,492在 GitHub 上查看↗

    yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu

    JavaScript
    在 GitHub 上查看↗11,492
  • google/gsongoogle 的头像

    google/gson

    24,357在 GitHub 上查看↗

    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

    Java
    在 GitHub 上查看↗24,357
  • jinzhu/copierjinzhu 的头像

    jinzhu/copier

    6,172在 GitHub 上查看↗

    Copier is a Go library that deep copies data between structs, maps, and slices using reflection-based field mapping and struct tag controls. At its core, it automatically transfers values by matching source and destination fields by name, type, and methods, creating fully independent copies of nested data structures to prevent shared references and unintended mutations. The library distinguishes itself through tag-driven copy rules that give developers fine-grained control over the copying process. Struct tags can enforce mandatory field copying, exclude specific fields from transfer, or map

    Gocopygogolang
    在 GitHub 上查看↗6,172
  • marshmallow-code/marshmallowmarshmallow-code 的头像

    marshmallow-code/marshmallow

    7,239在 GitHub 上查看↗

    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

    Pythondeserializationmarshallingpython
    在 GitHub 上查看↗7,239
  • ghostiam/binstructG

    ghostiam/binstruct

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • microsoft/bondmicrosoft 的头像

    microsoft/bond

    2,625在 GitHub 上查看↗

    Bond was a cross-platform framework for working with schematized data. The open-source project ended on March 31, 2025.

    C++
    在 GitHub 上查看↗2,625
  • python-rapidjson/python-rapidjsonpython-rapidjson 的头像

    python-rapidjson/python-rapidjson

    532在 GitHub 上查看↗

    Python wrapper around rapidjson

    C++
    在 GitHub 上查看↗532
  • google/flatbuffersgoogle 的头像

    google/flatbuffers

    25,558在 GitHub 上查看↗

    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

    C++cc-plus-plusc-sharp
    在 GitHub 上查看↗25,558
  • tuvistavie/structomapT

    tuvistavie/structomap

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • vimeda/pletterV

    vimeda/pletter

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • jszwec/csvutiljszwec 的头像

    jszwec/csvutil

    1,035在 GitHub 上查看↗

    csvutil provides fast and idiomatic mapping between CSV and Go (golang) values.

    Gocsvcsv-parsercsvutil
    在 GitHub 上查看↗1,035
  • json-iterator/gojson-iterator 的头像

    json-iterator/go

    13,891在 GitHub 上查看↗

    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

    Godeserializationgogolang
    在 GitHub 上查看↗13,891
  • promonlogicalis/asn1P

    PromonLogicalis/asn1

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • glycerine/bambamG

    glycerine/bambam

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • gogo/protobufgogo 的头像

    gogo/protobuf

    5,669在 GitHub 上查看↗

    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

    Gogogolanggrpc
    在 GitHub 上查看↗5,669
  • golang/protobufgolang 的头像

    golang/protobuf

    10,074在 GitHub 上查看↗

    This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native data structures into a compact binary format for efficient network transmission and storage. It functions as a language bindings generator, utilizing a compiler plugin to create Go source code from platform-neutral protocol buffer definitions. The implementation includes a JSON data mapper that transforms structured binary messages into JSON format to facilitate compatibility with web services and external APIs. It also enables cross-language data exchange by using a common s

    Go
    在 GitHub 上查看↗10,074
  • pascaldekloe/colferP

    pascaldekloe/colfer

    0在 GitHub 上查看↗

    Colfer is a binary serialization format optimized for speed and size.

    在 GitHub 上查看↗0
  • 32leaves/bel3

    32leaves/bel

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • glycerine/go-capnprotoG

    glycerine/go-capnproto

    0在 GitHub 上查看↗
    在 GitHub 上查看↗0
  • protocolbuffers/protobufprotocolbuffers 的头像

    protocolbuffers/protobuf

    71,359在 GitHub 上查看↗

    Protocol Buffers is a language-neutral, platform-agnostic mechanism for serializing structured data. It provides a schema-driven toolchain that compiles declarative data definitions into type-safe source code, enabling consistent communication and strongly typed API contracts across services written in different programming languages. The project distinguishes itself through a highly efficient binary wire format that utilizes tag-based encoding and variable-width integer compression to minimize payload size and processing overhead. It supports robust evolutionary schema management, allowing d

    C++marshallingprotobufprotobuf-runtime
    在 GitHub 上查看↗71,359
  • ugorji/gougorji 的头像

    ugorji/go

    1,952在 GitHub 上查看↗

    idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.orgGo

    Go
    在 GitHub 上查看↗1,952