플러터(Flutter)
라이믹스 게시판을 플러터 리스트로 만들기 - 1
xemaker
2023. 6. 22. 18:44
라이믹스 게시판의 내용을 받아서 플러터 리스트로 만들어 보려고 한다.
우선 심플하게 json 데이터를 다트언어로 파싱하여 List로 만들어주는 예제이다.
json : {"result":"ok","data":[ {"document_srl":1, "title":"제목1", "nick_name":"홍길동"}, {"document_srl":2, "title":"제목2", "nick_name":"성춘향"}] }
List : [{1, 제목1, 홍길동}, {2, 제목2, 성춘향}]
이제 저 리스트를 플러터 ListView 에 바인딩을 하면 되겠다. 이 부분은 다음에~~
import 'dart:convert';
class Data{
int document_srl;
String title;
String nick_name;
Data(this.document_srl, this.title, this.nick_name);
factory Data.fromJson(dynamic json){
return Data(json['document_srl'] as int, json['title'] as String, json['nick_name'] as String);
}
@override
String toString(){
return '{${this.document_srl}, ${this.title}, ${this.nick_name}}';
}
}
main(){
String j = '''
{"result":"ok","data":[ {"document_srl":1, "title":"제목1", "nick_name":"홍길동"}, {"document_srl":2, "title":"제목2", "nick_name":"성춘향"}] }
''';
var dataObjsJson = jsonDecode(j)['data'] as List;
print(dataObjsJson);
final List<Data> parsedResponse = dataObjsJson.map((dataJson) => Data.fromJson(dataJson)).toList();
print(parsedResponse);
//print( Data.fromJson(j) );
}
/*
Connecting to VM Service at ws://127.0.0.1:52370/8HJCQ4twpvs=/ws
[{document_srl: 1, title: 제목1, nick_name: 홍길동}, {document_srl: 2, title: 제목2, nick_name: 성춘향}]
[{1, 제목1, 홍길동}, {2, 제목2, 성춘향}]
Exited.
*/