Maison  >  Questions et réponses  >  le corps du texte

python - Pourquoi, après avoir utilisé request.get l'URL, le contenu de la réponse dans .text est sous la forme d'un dictionnaire, mais tapez-le en str

J'utilise jupyter d'anaconda pour exécuter le code.
J'utilise le module requests pour lire la page Web

Je vois que le contenu de sortie est entre accolades. , donc j'utilise la fonction de dict pour lire la valeur, mais cela a échoué.
type()
a découvert que son attribut était str
Après avoir utilisé json
, j'ai découvert que l'attribut était devenu dict. Lorsque le programme lit ce type de

contenu de dictionnaire

sous forme de chaînes, comment devrions-nous les reconvertir en attributs de dictionnaire
 ?

学习ing学习ing2686 Il y a quelques jours945

répondre à tous(3)je répondrai

  • 習慣沉默

    習慣沉默2017-06-12 09:23:24

    Veuillez utiliser le bouton d'édition <> pour ajouter du code lorsque vous poserez des questions à l'avenir, afin que d'autres puissent essayer le code.

    Essayez le code suivant :

    x = eval(r.text)
    y = r.json()
    print (type(x), type(y))
    print (x==y)

    Le résultat devrait être que les deux dictionnaires ont le même contenu. En d'autres termes :

    x = eval(r.text)  
    y = r.json()      
    • x consiste à exécuter la chaîne de r.text directement sous forme d'expressions pour générer un dictionnaire

    • y est l'objet json renvoyé par la méthode r.json(), qui génère un dictionnaire

    Votre question est donc :
    "Lorsque le programme lit ce type de contenu de dictionnaire sous forme de chaîne, comment en faire à nouveau un attribut de dictionnaire ?" d'un dictionnaire. Comment transformer une chaîne en dictionnaire ? "
    Alors la réponse est la fonction intégrée eval()

    Bien sûr, le module de requêtes possède déjà la méthode .json(), vous pouvez l'utiliser

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:23:24

    d = r.json()

    De cette façon, vous obtiendrez le dictionnaire d

    répondre
    0
  • 迷茫

    迷茫2017-06-12 09:23:24

    Il y a encore des guillemets à l'extérieur

    répondre
    0
  • Annulerrépondre