JSON 과 Map
Dart 에서는 JSON 처리는 Java 와 비슷하다.
기본적으로 Map 또는 List 로 다루고 입출력은 json decode & encode 로 수행한다.
Code Template
import 'dart:convert';
class Player {
final String? name;
final int? age;
Player({this.name, this.age});
factory Player.fromJson(Map<String, dynamic> json) =>
Player(name: json['name'], age: json['age']);
Map<String, dynamic> toJson() {
return {'name': name, 'age': age};
}
}
var jsonString = '''
[
{"name": "AA", "age": 1},
{"name": "BB", "age": 2}
]
''';
void main() {
final List tt = json.decode(jsonString);
final List<Player> players = tt.map((doc) => Player.fromJson(doc)).toList();
print('JSON String: ${jsonString}');
print('Instance: ${players[0]}');
print('JSON String encoded: ${json.encode(players)}');
}
출력
JSON String: [
{"name": "AA", "age": 1},
{"name": "BB", "age": 2}
]
Instance: Instance of 'Player'
JSON String encoded: [{"name":"AA","age":1},{"name":"BB","age":2}]
'개발 > Flutter' 카테고리의 다른 글
[Flutter] ListTile (0) | 2024.07.23 |
---|---|
[Flutter] Card (0) | 2024.07.23 |
[Flutter] stateful widget (0) | 2024.07.23 |
[Flutter] stateless widget (0) | 2024.07.23 |
[Flutter] Start (0) | 2024.07.23 |
JSON 과 Map
Dart 에서는 JSON 처리는 Java 와 비슷하다.
기본적으로 Map 또는 List 로 다루고 입출력은 json decode & encode 로 수행한다.
Code Template
import 'dart:convert';
class Player {
final String? name;
final int? age;
Player({this.name, this.age});
factory Player.fromJson(Map<String, dynamic> json) =>
Player(name: json['name'], age: json['age']);
Map<String, dynamic> toJson() {
return {'name': name, 'age': age};
}
}
var jsonString = '''
[
{"name": "AA", "age": 1},
{"name": "BB", "age": 2}
]
''';
void main() {
final List tt = json.decode(jsonString);
final List<Player> players = tt.map((doc) => Player.fromJson(doc)).toList();
print('JSON String: ${jsonString}');
print('Instance: ${players[0]}');
print('JSON String encoded: ${json.encode(players)}');
}
출력
JSON String: [
{"name": "AA", "age": 1},
{"name": "BB", "age": 2}
]
Instance: Instance of 'Player'
JSON String encoded: [{"name":"AA","age":1},{"name":"BB","age":2}]
'개발 > Flutter' 카테고리의 다른 글
[Flutter] ListTile (0) | 2024.07.23 |
---|---|
[Flutter] Card (0) | 2024.07.23 |
[Flutter] stateful widget (0) | 2024.07.23 |
[Flutter] stateless widget (0) | 2024.07.23 |
[Flutter] Start (0) | 2024.07.23 |