首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过HttpClientResponse获得List对象?

如何通过HttpClientResponse获得List对象?
EN

Stack Overflow用户
提问于 2018-11-24 16:09:53
回答 2查看 1.2K关注 0票数 0

如何在“结果”中获得列表对象?我尝试在“请求”对象上使用toList()方法,但无法解决这个问题。

代码语言:javascript
复制
import 'dart:io';
import 'dart:convert';

void main() async {
  var request = await HttpClient().getUrl(Uri.parse('https://jsonplaceholder.typicode.com/posts')); // produces a request object
  var response = await request.close(); // sends the request

  // transforms and prints the response
  var result;

  await for (var contents in response.transform(Utf8Decoder())) {
   result =contents;
  }

  print(result);

}

谢谢,

丹尼尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-24 18:20:36

首先,response.transform返回结果的多个部分,您需要通过将它们连接在一起获得它们:

代码语言:javascript
复制
  var result = new StringBuffer();
  await for (var contents in response.transform(Utf8Decoder())) {
      result.write(contents);
  }

其次,您的结果只是一个“文本”( json格式),而不是您预期的“对象”,您需要对它进行解码:

代码语言:javascript
复制
  List<dynamic> myList = jsonDecode(result.toString());
  print(myList);
票数 1
EN

Stack Overflow用户

发布于 2018-11-24 18:18:27

以下是简单的

代码语言:javascript
复制
List elements = json.decode(response.body);
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53459989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档