接口返回报文打印显示不全

来源:18-6 本章小结

亲凌奕

2019-05-04

android studio 中flutter项目从网络请求回来的数据,打印在控制台显示不全。
比如主页面大接口数据,只显示了一部分。请问是需要在哪里设置吗?

写回答

2回答

亲凌奕

提问者

2019-05-07

通过老师的思路尝试,打印还是显示不全,后面是<...>


1.创建了model类,实现了fromJson和toJson方法

2.请求接口将返回报文转化成model

3.通过json.encode(),将model转json字符串并打印

其实感觉这个思路是绕了一圈

能否直接将请求回来的报文打印全部显示出来

0
1
CrazyCodeBoy
stackoverflow上有个该问题的讨论可以参考下: https://stackoverflow.com/questions/42440061/how-to-fully-dump-print-variable-to-console-in-the-dart-language
2019-05-07
共1条回复

CrazyCodeBoy

2019-05-04

方法思路

通过import 'dart:convert';中的json.encodeAPI将model转换成String然后进行打印;

前提

要想使用json.encode序列化的model要提供toJson()方法:

class Autogenerated {
 String icon;
 String label;
 String url;

 Autogenerated({this.icon, this.label, this.url});

 Autogenerated.fromJson(Map<String, dynamic> json) {
   icon = json['icon'];
   label = json['label'];
   url = json['url'];
 }

 Map<String, dynamic> toJson() {
   final Map<String, dynamic> data = new Map<String, dynamic>();
   data['icon'] = this.icon;
   data['label'] = this.label;
   data['url'] = this.url;
   return data; 
 }
}

toJson()方法的生成可使用http://www.devio.org/io/tools/json-to-dart/工具来完成:

将你的json类型的String放进输入框中生成即可:

{
   "icon": "http://www.devio.org/io/flutter_app/img/ln_ticket.png",
   "label": "经典玩乐",
   "url": "https://m.ctrip.com/html5/ticket/"
 }

打印

import 'dart:convert';//导入convert

Autogenerated autogenerated = new Autogenerated();
Strin pringStr = json.encode(autogenerated);
print(pringStr);//打印


0
0

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程