【Dart】プロンプトを使ってJSONファイルのインプットとアウトプットしてみた

こんにちは、株式会社Pentagon代表の山本です。

目次

この記事の内容

今回は、プロンプトを使ってJSONファイルのインプットとアウトプットの方法を解説します。

DartでJSONファイルの読み書きをしたかったので、調べてまとめました。

DartでIOの操作をしたい方は参考にしてください。

この記事を読むと、プロンプトを使ってJSONの読み書きができるようになります。

JSONファイルのインプットとアウトプット

import 'dart:convert';
import 'dart:io';
import 'package:prompts/prompts.dart' as prompts;

Future<void> main() async {
 //現在のディレクトリを取得
 final cwd = Directory.current.path;
 //入力するJSONのパスを指定
 final filePath = prompts.get('JSONファイルのパスを入力してください', defaultsTo: cwd);
 final jsonFile = File(filePath);
 if (!jsonFile.existsSync()) {
   throw '$jsonFile は存在しません。';
 }
 //JSONを読み込み
 var json = jsonDecode(jsonFile.readAsStringSync());
 stdout.write('-------------------------------\n');
 stdout.write('$json\n');
 stdout.write('-------------------------------\n');
 //名前を変更
 final newName = prompts.get('名前を入力してください');
 json['name'] = newName;
 //再度JSONを出力
 await jsonFile.writeAsString(jsonEncode(json));
 json = jsonDecode(jsonFile.readAsStringSync());
 stdout.write('-------------------------------\n');
 stdout.write('$json\n');
 stdout.write('-------------------------------\n');
}

実行した結果

✔ JSONファイルのパスを入力してください (/Users/shinyayamamoto/work/pentagon/dart_prompts) ‥ sample.json
-------------------------------
{user_id: 1, name: YAMADA TARO}
-------------------------------
✔ 名前を入力してください ‥ YAMADA HANAKO
-------------------------------
{user_id: 1, name: YAMADA HANAKO}
-------------------------------

今回は以上です!

次回は、yamlファイルの読み込みとパースについて調べてみようと思います。

採用情報はこちら
目次