Load from a File (TEXT)


ASTER::ACTION::JSON::Load from a JSON Formatted File.

JSON ファイルをメモリにロードします。

指定されたファイルパスにある JSON ファイルからデータを読み込み、データの解析が実行された後、内容にエラーが無かった場合 JSON データがメモリに展開されます。

---
title: Load from a JSON Formatted File
---
flowchart LR
  A[Set a File Path] --> B{The File Exist?}
  B --> |Yes| C((Check JSON Format))
  B --> |No| D[Fail to Load]
  C --> |Correct| E((Load the Data to Memory))
  C --> |Incorrect!| F[Error: Invalid JSON]
  D --> G[Cancelled]
  F --> G[Cancelled]
  E --> H(Loaded)

Parameter

アプリケーション実行ファイルがある場所を「カレントディレクトリ」とします。

カレント以下 ./json/sandbox というディレクトリにあるファイル 00.json をロードするサンプルが以下です。

"./json/sandbox/00.json"
current application folder/
└── json/
    └── sandobox/
        └── 00.json   👻🙂
  • 指定したパスにファイルが存在しない場合、エラーメッセージを表示、処理を直ちに終了。

  • JSON フォーマットデータの解析に失敗した場合、エラーメッセージを表示、ロード処理を直ちに終了します。


注意点.1

編集中データの消失

現在編集中の JSON データがメモリ上にある状態で JSON 読み込み命令が発行された場合、まずメモリポインタ情報を消去されるため、ロードに失敗した場合でも現在編集中のデータは内容が完全に失われます。


注意点.2

エラー ( 例外発生 )

不正な JSON データが読み込まれた場合、例外が発生します。

データ形式の不備によるパースエラーはエラーチェック機能があるテキストエディタを利用することで、読み込み失敗を確実に回避できます。


注意点.3

BOM ( バイト・オーダー・マーク ) 付き UTF-8 について。

Windows OS 環境で主に利用される UTF-8 形式の亜種です。 RFC 8259 ( page 9 ) では BOM 付き UTF-8 の利用を認めていません。

ただし現在は、ASTER で UTF-8 with BOM をロードしてもバイト・オーダー・マークが原因のエラーは発生しません。

正式にサポートはしていないので BOM 付き UTF-8 は利用しないでください。