티스토리 뷰

라이믹스 게시판의 내용을 받아서 플러터 리스트로 만들어 보려고 한다.

우선 심플하게 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.

*/

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함