Dart JsonDecoderクラスのコンストラクタとconvert()メソッド

Dar言語StreamクラスtoSet()メソッドDart

DartのJsonDecoderクラスのコンストラクタとconvert()メソッドについてメモ書き。

JsonDecoderクラスのconvert()メソッドを使うと、JSON文字列をMap型やList型に変換できる。
convert()メソッドに渡した値が不適切な場合、FormatExceptionを返す。
公式サイトはこちら

コーディングでconvert()メソッドを確認。

import 'dart:convert';

void main() {
  JsonDecoder decode = JsonDecoder();

  String region = '''
   {
     "関東": [
       "東京",
       "千葉"
     ],
     "東北": [
       "青森",
       "秋田"
     ]
   }
   ''';

  // JsonDecoder()の出力結果
  Map<String, dynamic> regionJson = decode.convert(region);
  print(regionJson);

  // ネストされたデータを抽出
  regionJson.forEach((key, value) {
    for (var element in value) {
      print("$key $element");
    }
  });
}

実行結果。

{関東: [東京, 千葉], 東北: [青森, 秋田]}
関東 東京
関東 千葉
東北 青森
東北 秋田

1行目は以下の実行結果。
Json文字列をMap型にコンバートしている。

// JsonDecoder()の出力結果
Map<String, dynamic> regionJson = decode.convert(region);
print(regionJson);

2行目〜5行目は以下の実行結果。
Map型で取得したデータを個別に出力している。
実践を想定してネストしているデータを抽出し、出力している。

// ネストされたデータを抽出
regionJson.forEach((key, value) {
  for (var element in value) {
    print("$key $element");
  }
});

コメント

タイトルとURLをコピーしました