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

PythonディクショナリをJavaScriptハッシュテーブルに変換するにはどうすればよいですか?


Pythonとjavascriptは、どちらも辞書の表現が異なります。したがって、それらの間でデータを渡すために中間表現が必要です。最も一般的に使用される中間表現はJSONです。これは、単純で軽量なデータ交換形式です。

dumps関数は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}}'
ロードの関数は、文字列を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

JS側では、何もする必要はありません。これは、JSONが文字通りJavaScriptObjectNotationを意味するためです。また、JSはJSONから暗黙的にオブジェクトを構築します。文字列を取得したら、JSON.parse()を使用して変換できます。


  1. 辞書の文字列表現を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

  2. Python関数から辞書を返すにはどうすればよいですか?

    Python関数から辞書を返す方法はいくつもあります。以下に示すものを検討してください。 例 # This function returns a dictionary def foo():      d = dict();      d['str'] = "Tutorialspoint"      d['x']   = 50      return d print foo() 出力 {'x': 50