JSONView プログラム仕様
- Viewer.JSONView.build_tree(tree, data)[ソース]
概要: Treeviewウィジェットの列を設定し、JSONデータを読み込んで表示する。
- 詳細説明:
Treeviewウィジェットの列を「Key」と「Value」として設定し、それぞれの幅とヘッダーを定義します。 その後、与えられたJSONデータのトップレベルのキーと値を使って insert_item 関数を呼び出し、ツリー構造を再帰的に構築します。
- パラメータ:
tree -- ttk.Treeview: データを表示するTreeviewウィジェットのインスタンス。
data -- dict: 表示するJSONデータ(ルートが辞書であると仮定)。
- 戻り値:
None
- Viewer.JSONView.insert_item(tree, parent, key, value)[ソース]
概要: TreeviewウィジェットにJSONデータ項目を挿入する。
- 詳細説明:
JSONの構造(辞書、リスト、プリミティブ値)に応じて、 Treeviewに適切なノードを作成し、再帰的に子要素を挿入します。 辞書はキーと値のペアとして展開され、リストはインデックス付きのアイテムとして表示されます。 プリミティブ値(文字列、数値、真偽値など)はキーと値の列に直接表示されます。
- パラメータ:
tree -- ttk.Treeview: データを挿入するTreeviewウィジェットのインスタンス。
parent -- str: 親ノードのID。ルートレベルの項目を挿入する場合は空文字列 ''。
key -- str: 現在のアイテムのキー(辞書の場合)または表示名(リストのアイテムの場合)。
value -- Any: 現在のアイテムの値。これは辞書、リスト、またはプリミティブ値のいずれかです。
- 戻り値:
None
- Viewer.JSONView.load_json(filename)[ソース]
概要: 指定されたJSONファイルからデータを読み込む。
- 詳細説明:
ファイルパスからJSONデータをパースし、Pythonの辞書またはリストとして返します。 この関数は、JSON形式のデータを含むテキストファイルを読み込むために使用されます。
- パラメータ:
filename -- str: 読み込むJSONファイルのパス。
- 戻り値:
dict | list: 読み込まれたJSONデータ。JSONのルート要素が辞書の場合はdict、リストの場合はlist。
- Viewer.JSONView.main(infile, geometry)[ソース]
概要: JSONビューアアプリケーションのメイン処理を実行する。
- 詳細説明:
Tkinterウィンドウを初期化し、指定されたJSONファイルを読み込み、 その内容をttk.Treeviewウィジェットに表示します。 ウィンドウのタイトル、初期サイズ、およびウィンドウが閉じられた際の処理を設定します。 最後に、Tkinterのイベントループを開始し、GUIの表示とユーザー操作を処理します。
- パラメータ:
infile -- str: 表示するJSONファイルのパス。
geometry -- str: ウィンドウの初期サイズと位置を示す文字列(例: "600x400")。
- 戻り値:
None