検索

ホームページ  >  に質問  >  本文

Python - request.get を使用した後、URL を取得すると、.text の応答コンテンツは辞書の形式になりますが、型は str になるのはなぜですか

anaconda の jupyter を使用してコードを実行します。
requests モジュールを使用して Web ページを読み取ります。

出力を参照してください。内容は 中括弧 内にあり、 辞書 と判断されるため、dict 関数 を使用して値を読み込むのですが、失敗します。

type() その属性が str
であることが判明しました。
#json を使用した後、属性が dict に変更されたことがわかりました。

プログラムがこの種の コンテンツを辞書形式で読み取るとき 文字列 を読み取るとき、
それを 辞書属性 にするにはどうすればよいですか?

学习ing学习ing2807日前1032

全員に返信(3)返信します

  • 習慣沉默

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

    今後質問するときは、編集ボタンを使用してコードを追加してください。これにより、他の人がコードを試すことができます。

    次のコードを試してください:

    リーリー

    結果として、両方の辞書に同じ内容が含まれるはずです。言い換えれば:

    リーリー
    • xはr.textの文字列を式として直接実行して辞書を生成します

    • y は、辞書を生成する r.json() メソッドによって返される json オブジェクトです

    それであなたの質問は次のとおりです:
    「プログラムがこのタイプの辞書コンテンツを文字列として読み取るとき、それを再び辞書属性にするにはどうすればよいですか?」
    質問をより正確に次のように変更できます:
    「文字列は次の形式の式です。」文字列を辞書に変えるにはどうすればよいでしょうか? 答えは組み込み関数 eval() です

    もちろん、requests モジュールにはすでに .json() メソッドがあるので、それを使用できます

    返事
    0
  • 伊谢尔伦

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

    d = r.json()

    このようにして、辞書dを取得します

    返事
    0
  • 迷茫

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

    外側にはまだ引用符があります

    返事
    0
  • キャンセル返事