Slackコミュニティに
無料で参加する
Flutterラボの
プレミアム会員になる
【Flutter】JSON形式のデータをDecodeしてDartで扱える型に変換する
2020.11.07
※JSONデータについては天気予報アプリ制作を例にFlutterラボで解説しているので、そちらでもご覧ください。
APIやSQLiteから情報を取得すると、JSON形式で返ってくることがほとんどです。
この記事では、郵便番号検索APIを例に解説していきます。
以下のURLにアクセスすると、郵便番号検索情報を取得することができます。
https://zipcloud.ibsnet.co.jp/api/search?zipcode=5300057
{
"message": null,
"results": [
{
"address1": "大阪府",
"address2": "大阪市北区",
"address3": "曽根崎",
"kana1": "オオサカフ",
"kana2": "オオサカシキタク",
"kana3": "ソネザキ",
"prefcode": "27",
"zipcode": "5300057"
}
],
"status": 200
}
返ってくる情報はJSONで、Dartで扱うとString型のただの文字列なので、このままではDartのデータ型で扱うことはできません。
ここで使うのが、jsonDecode です。
さきほどのJSONをjsonDecodeすると今回の場合は、Map<String, dynamic>型に変換することができます。
Map<String, dynamic> map = jsonDecode(result.body);
あとは、通常のMap型と同じように扱うことができます。
int status = map['status']; // 200
String address1 = map['results'][0]['address1']; // 大阪府
Mapの使い方や、APIから情報を取得する方法についても記事を書いているので参考になれば幸いです。
Flutterラボ
hatchoutschool
Flutter Daily
Flutterに関する記事を日々更新しています (223本)

【Dart】Stringからint, double, DateTimeに変換する
2020.09.14

【Dart】【Flutter】List型(リスト)の使い方とよく使うメソッドまとめ
2020.09.18

【Dart】【Flutter】DateTime型についてのまとめ
2020.10.01

【Dart】Map型の使い方とよく使うメソッドまとめ
2020.09.13