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

Viewer.JSONView.window_close(root)[ソース]

概要: ウィンドウを閉じる際の処理を実行する。

詳細説明:

アプリケーションが終了する際に呼び出されるコールバック関数です。 現在のウィンドウのジオメトリ(サイズと位置)をINIファイルに保存します。 これにより、次回のアプリケーション起動時に同じウィンドウサイズが復元されます。 その後、Tkinterアプリケーションを正常に終了させます。

パラメータ:

root -- tk.Tk: メインのTkinterウィンドウオブジェクトのインスタンス。

戻り値:

None