Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python辞書を文字列にシリアル化してから、辞書に戻すにはどうすればよいですか?


JSONモジュールは、Python辞書を文字列にシリアル化してから、辞書に戻すための非常に信頼性の高いライブラリです。ダンプ関数は、dictを文字列に変換します。

import json
my_dict = {
   'foo': 42,
   'bar': {
      'baz': "Hello",
      'poo': 124.2
   }
}
my_json = json.dumps(my_dict)
print(my_json)
出力 これにより出力が得られます-

'{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'
loads関数は文字列をdictに変換し直します。

import json
my_str = '{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'
my_dict = json.loads(my_str)
print(my_dict['bar']['baz'])
出力 これにより出力が得られます-

Hello

  1. Pythonを使用して文字列をJSONに変換する方法は?

    json.loads()を使用してJSON文字列を辞書に変換します。このメソッドは、有効なjson文字列を受け入れ、すべての要素にアクセスできる辞書を返します。たとえば、 >>> import json >>> s = '{"success": "true", "status": 200, "message": "Hello"}' >>> d = json.loads(s) >>> print d["

  2. 辞書の文字列表現をPythonの辞書に変換するにはどうすればよいですか?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。例: s = "{'baz' : 'lol', 'foo' : 'bar'}" import ast s = ast.literal_eval(s) print s['foo'], s['baz