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 データが読み込まれた場合、例外が発生します。
データ形式の不備によるパースエラーはエラーチェック機能があるテキストエディタを利用することで、読み込み失敗を確実に回避できます。
- お勧めのエディタとしては Visual Studio Code などがあります。
 
注意点.3
BOM( バイト・オーダー・マーク ) 付きUTF-8について。
Windows OS 環境で主に利用される UTF-8 形式の亜種です。 RFC 8259 ( page 9 ) では BOM 付き UTF-8 の利用を認めていません。
ただし現在は、ASTER で UTF-8 with BOM をロードしてもバイト・オーダー・マークが原因のエラーは発生しません。
正式にサポートはしていないので BOM 付き UTF-8 は利用しないでください。