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

Pythonで複数のキー/サブキーを持つJSONファイルをループするにはどうすればよいですか?


Pythonのjsonモジュールを使用してJSONファイルを解析できます。このモジュールはjsonを解析し、それをdictに入れます。その後、通常のdictのようにこれから値を取得できます。たとえば、次のコンテンツを持つjsonがある場合-

{
   "id": "file",
   "value": "File",
   "popup": {
      "menuitem": [
         {"value": "New", "onclick": "CreateNewDoc()"},
         {"value": "Open", "onclick": "OpenDoc()"},
         {"value": "Close", "onclick": "CloseDoc()"}
      ]
   }
}

Pythonプログラムにロードして、次の方法でキーをループできます-

import json
f = open('data.json')
data = json.load(f)
f.close()

#これで、データを通常のdictとして使用できるようになりました-

for (k, v) in data.items():
   print("Key: " + k)
   print("Value: " + str(v))
出力 これにより出力が得られます-

Key: id
Value: file
Key: value
Value: File
Key: popup
Value: {'menuitem': [{'value': 'New', 'onclick': 'CreateNewDoc()'}, {'value': 'Open', 'onclick': 'OpenDoc()'}, {'value': 'Close', 'onclick': 'CloseDoc()'}]}

サブ値も反復処理する場合は、このツリーのようなdictを反復処理できる再帰関数を作成する必要があります。


  1. Pythonで複数の区切り文字を使用して文字列を分割するにはどうすればよいですか?

    re.split(delimiter、str)メソッドを使用して、複数の区切り文字で文字列を分割できます。区切り文字の正規表現と、分割する必要のある文字列が必要です。例: a='Beautiful, is; better*than\nugly' import re print(re.split('; |, |\*|\n',a)) 出力を取得します ['Beautiful', 'is', 'better', 'than', 'ugly']

  2. PythonでJSONファイルをきれいに印刷する方法

    他の多くのプログラミング言語と同様に、PythonはJavaScript Object Notation(JSON)データでうまく機能します。いくつかのソースからこのデータを取得し、他のファイルと同じように処理できます。これは、PythonでJSONファイルをきれいに印刷したい場合に役立ちます。 この投稿では、2つの方法でJSONファイルをきれいに印刷する方法を紹介します。どちらもターミナルとコマンドラインの使用を伴いますが、そのうちの1つについてはPythonの知識はまったく必要ない場合があります。 Pretty Printとは(そしてJSONファイルで使用したい理由) 要するに、きれ