À propos du projet
vibejson est une bibliothèque JSON complète pour les applications Go nécessitant plus de contrôle que les opérations standard de marshal/unmarshal. Elle se concentre sur la réduction des allocations et fournit des règles explicites de propriété et d'emprunt pour les opérations zéro-copie.
Les capacités clés incluent :
- Codecs typés : Prend en charge des encodeurs et décodeurs compilés pour les chemins critiques répétés afin de minimiser les frais généraux.
- Navigation documentaire : Fournit la sélection par JSON Pointer (RFC 6901) via `GetRaw` et l'indexation structurelle pour la navigation répétée dans les documents.
- Streaming : Inclut un `Reader` et un `Writer` pour le traitement de NDJSON ou de valeurs JSON concaténées.
- Validation et transformations : Offre des outils pour la validation JSON stricte, ainsi que des fonctions pour compacter, indenter ou canonicaliser la sortie JSON.
- Optimisation des performances : Prend en charge le SIMD natif de Go (via `GOEXPERIMENT=simd` dans Go 1.27) pour accélérer le balayage des chaînes, l'analyse structurelle et la conversion de tableaux numériques sur les architectures amd64 (AVX2) et arm64 (NEON).
- Modèle documentaire : Présente un modèle de document ordonné avec propriété pour la manipulation dynamique du JSON.
La bibliothèque est conçue sans dépendances en dehors de la bibliothèque standard de Go et propose divers niveaux d'API, allant des codecs typés de haut niveau aux noyaux de balayage de bas niveau dans ses packages `x/`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.