こんにちは、株式会社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ファイルの読み込みとパースについて調べてみようと思います。