Table des matières
Méthodes communes d'orjson
1. Sérialisation
2. La conversion des données JSON en objets Python est appelée désérialisation. Elle est opérée à l'aide de orjson.loads(), qui accepte les types courants tels que bytes et str. Sur la base de l'exemple précédent, prenons un exemple d'ajout de désérialisation :
Dans l'opération de sérialisation d'orjson, vous pouvez configurer de nombreuses fonctions supplémentaires via l'option de paramètre Les plus couramment utilisées sont :
4. Ajoutez des stratégies de traitement personnalisées pour dataclass et datetime
Maison développement back-end Tutoriel Python Bibliothèques JSON tierces qui valent la peine d'être apprises en Python

Bibliothèques JSON tierces qui valent la peine d'être apprises en Python

Apr 11, 2023 pm 08:49 PM
python json

Dans notre utilisation quotidienne de Python, nous utilisons souvent le format json pour stocker certaines données, notamment dans le développement web. Cependant, la bibliothèque json native de Python a des performances médiocres et peu de fonctions, et ne peut répondre qu'aux besoins simples et légers de stockage et de conversion de données json.

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

La bibliothèque json tierce orjson que je souhaite vous présenter dans cet article a écrasé json, ujson, rapidjson, simplejson et d'autres dans divers tests de performances de référence publics avec un avantage de performances de plusieurs fois à des dizaines de fois. .Python et possède de nombreuses fonctions supplémentaires. Jetons un coup d'œil à ses méthodes communes~

Méthodes communes d'orjson

orjson prend en charge toutes les versions de Python 64 bits de 3.7 à 3.10. La version d'orjson correspondante présentée dans cet article est la 3.7. 0. Utilisez simplement pip install -U orjson pour terminer l'installation. Montrons les méthodes courantes dans orjson :

1. Sérialisation

Semblable à la bibliothèque json native, nous pouvons utiliser orjson.dumps() pour sérialiser des objets Python en données JSON. Notez que la légère différence est le résultat de la sérialisation orjson. n'est pas de type str mais de type bytes. Dans l'exemple suivant, nous sérialisons une liste contenant 10 millions d'éléments de dictionnaire simples. La comparaison fastidieuse entre les bibliothèques orjson et json est la suivante :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

2. La conversion des données JSON en objets Python est appelée désérialisation. Elle est opérée à l'aide de orjson.loads(), qui accepte les types courants tels que bytes et str. Sur la base de l'exemple précédent, prenons un exemple d'ajout de désérialisation :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python3. . Options d'options riches

Dans l'opération de sérialisation d'orjson, vous pouvez configurer de nombreuses fonctions supplémentaires via l'option de paramètre Les plus couramment utilisées sont :

(1) OPT_INDENT_2

En configurant option=orjson.OPT_INDENT_2, nous pouvons ajouter un 2. -effet d'embellissement de l'indentation de l'espace sur le résultat JSON sérialisé, compensant ainsi le manque d'indentation des paramètres :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python(2) OPT_OMIT_MICROSECONDS

orjson .dumps() peut convertir directement les objets date et heure dans les bibliothèques standard telles que datetime et l'heure en Python dans les chaînes correspondantes. C'est quelque chose que la bibliothèque json native ne peut pas faire. En configurant option=orjson.OPT_OMIT_MICROSECONDS, les résultats de la conversion peuvent être omis. ) OPT_NON_STR_KEYS

Lorsque l'objet qui doit être sérialisé a une clé non numérique, orjson générera une erreur TypeError par défaut. Dans ce cas, option=orjson.OPT_NON_STR_KEYS doit être configuré pour forcer la conversion de ces clés en type de caractère :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

(4) OPT_SERIALIZE_NUMPY

Une caractéristique importante d'orjson est qu'il peut convertir en compatibilité des objets complexes contenant des objets de structure de données dans numpy en tableaux en JSON, avec option=orjson.OPT_SERIALIZE_NUMPY suffit :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

( 5) OPT_SERIALIZE_UUID

En plus de sérialiser automatiquement les objets numpy, orjson prend également en charge la conversion des objets UUID. Dans les versions antérieures à orjson 3.0, vous devez coopérer avec option=orjson .OPT_SERIALIZE_UUID, alors que la version 3.X présentée dans cet article nécessite. aucun paramètre de configuration supplémentaire :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

(6) OPT_SORT_KEYS

En faisant correspondre le paramètre option=orjson.OPT_SORT_KEYS, les résultats sérialisés peuvent être automatiquement triés par clé :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

(7) Combinaison de plusieurs options

Quand votre opération de sérialisation doit impliquer plusieurs fonctions d'option, vous pouvez utiliser l'opérateur | pour combiner plusieurs paramètres d'option :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

4. Ajoutez des stratégies de traitement personnalisées pour dataclass et datetime

Lorsque l'objet que vous devez sérialiser implique une structure de données personnalisée de classe de données, vous pouvez coopérer avec orjson.OPT_PASSTHROUGH_DATACLASS, puis transmettre le traitement personnalisé en passant la fonction de paramètre par défaut. pour obtenir une logique de conversion de données plus gratuite. Par exemple, dans l'exemple simple ci-dessous, nous pouvons utiliser cette fonctionnalité pour désensibiliser les données d'origine :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

De même, pour les données de type datetime, nous pouvons également coopérer avec OPT_PASSTHROUGH_DATETIME et la fonction par défaut personnalisée. pour implémenter la conversion de format personnalisé de date :

Bibliothèques JSON tierces qui valent la peine dêtre apprises en Python

orjson Pour plus de fonctionnalités, veuillez vous rendre sur l'entrepôt officiel https://github.com/ijl/orjson pour en savoir plus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

HaDIDB: une base de données légère et évolutive horizontalement dans Python HaDIDB: une base de données légère et évolutive horizontalement dans Python Apr 08, 2025 pm 06:12 PM

HaDIDB: Une base de données Python évolutive de haut niveau légère HaDIDB (HaDIDB) est une base de données légère écrite en Python, avec un niveau élevé d'évolutivité. Installez HaDIDB à l'aide de l'installation PIP: PiPinStallHaDIDB User Management Créer un utilisateur: CreateUser () pour créer un nouvel utilisateur. La méthode Authentication () authentifie l'identité de l'utilisateur. FromHadidb.OperationMportUserUser_OBJ = User ("Admin", "Admin") User_OBJ.

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

Le plan Python de 2 heures: une approche réaliste Le plan Python de 2 heures: une approche réaliste Apr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Python: Explorer ses applications principales Python: Explorer ses applications principales Apr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Comment utiliser Aws Glue Crawler avec Amazon Athena Comment utiliser Aws Glue Crawler avec Amazon Athena Apr 09, 2025 pm 03:09 PM

En tant que professionnel des données, vous devez traiter de grandes quantités de données provenant de diverses sources. Cela peut poser des défis à la gestion et à l'analyse des données. Heureusement, deux services AWS peuvent aider: AWS Glue et Amazon Athena.

Existe-t-il une alternative RSS basée sur JSON? Existe-t-il une alternative RSS basée sur JSON? Apr 10, 2025 am 09:31 AM

JSONFeed est une alternative RSS basée sur JSON qui a ses avantages simplicité et facilité d'utilisation. 1) JSONFeed utilise le format JSON, qui est facile à générer et à analyser. 2) Il prend en charge la génération dynamique et convient au développement Web moderne. 3) L'utilisation de JSONFeed peut améliorer l'efficacité de la gestion du contenu et l'expérience utilisateur.

MySQL peut-il se connecter au serveur SQL MySQL peut-il se connecter au serveur SQL Apr 08, 2025 pm 05:54 PM

Non, MySQL ne peut pas se connecter directement à SQL Server. Mais vous pouvez utiliser les méthodes suivantes pour implémenter l'interaction des données: utilisez Middleware: Exporter les données de MySQL au format intermédiaire, puis importez-les sur SQL Server via Middleware. Utilisation de Database Linker: Business Tools fournit une interface plus conviviale et des fonctionnalités avancées, essentiellement encore implémentées via Middleware.

See all articles