Maison > développement back-end > Tutoriel Python > Comment récupérer des objets chaîne à partir de JSON dans Python 2 ?

Comment récupérer des objets chaîne à partir de JSON dans Python 2 ?

Barbara Streisand
Libérer: 2024-11-02 23:49:30
original
350 Les gens l'ont consulté

How to Retrieve String Objects from JSON in Python 2?

Récupération d'objets chaîne à partir de JSON dans Python 2

Lors de l'analyse de JSON dans Python 2 à partir de fichiers texte codés en ASCII, les valeurs de chaîne sont automatiquement converties aux objets Unicode. Cela peut poser un problème lors de l'interface avec des bibliothèques qui acceptent exclusivement des objets chaîne.

Bien que la mise à jour vers Python 3 ou l'utilisation d'une fonction de conversion soient des solutions viables, une autre option consiste à exploiter PyYAML. PyYAML propose une approche plus directe en renvoyant des objets chaîne sous forme de clés et de valeurs pour les fichiers JSON :

<code class="python">import yaml

list_org = ['a', 'b']
list_dump = json.dumps(list_org)
json_result = json.loads(list_dump)
yaml_result = yaml.safe_load(list_dump)

print(json_result, type(json_result))  # [u'a', u'b'], <type 'list'>
print(yaml_result, type(yaml_result))  # ['a', 'b'], <type 'list'></code>
Copier après la connexion

Notez que la fonction de chargement de PyYAML doit être remplacée par safe_load pour garantir la compatibilité avec JSON. De plus, même si les entrées codées en ASCII génèrent des objets chaîne, l'utilisation d'entrées codées en Unicode produira toujours des objets Unicode.

Si la conversion d'objets chaîne en objets Unicode est nécessaire, la fonction de conversion de Mark Amery peut être utilisée :

<code class="python">from mark_amery import unicode_to_str

json_list = json.loads(json_list)
str_list = unicode_to_str(unicode_list)</code>
Copier après la connexion

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal