jsonをデコードする方法 (Dart)

November 05, 2022

確認環境

json を decode した結果をそのまま出力

import 'dart:convert';
class Human {
  String name;
  int age;

  Human(this.name, this.age) {
    // ...
  }
}

var jsonString = '''
  {
    "name": "human name",
    "age": 30
  }
''';

Map<String, Object?> human = json.decode(jsonString);

void main() {
  print("標準のmap形式: $human");
}

出力結果

標準のmap形式: {name: human name, age: 30}

json を decode した結果を自作クラスに詰め替えて出力

import 'dart:convert';
class Human {
  String name;
  int age;

  Human(this.name, this.age) {
    // ...
  }

  Human.fromJson(Map<String, dynamic> json)
      : name = json['name'], age = json['age'];
}

var jsonString = '''
  {
    "name": "human name",
    "age": 30
  }
''';

Map<String, Object?> human = json.decode(jsonString);

void main() {
  final Human h = Human.fromJson(human);
  print("name: ${h.name}");
  print("age: ${h.age}");
}

出力結果

name: human name
age: 30

SHARE

Profile picture

Written by tamesuu