Flutter 如何在flatter中直接打印GET请求体中接收到的JSON
我的意图是使用或任何类似的HTTP客户机发出GET请求,以便接收JSON数据/正文并将其打印到控制台 我编写了以下代码来实现这一点Flutter 如何在flatter中直接打印GET请求体中接收到的JSON,flutter,Flutter,我的意图是使用或任何类似的HTTP客户机发出GET请求,以便接收JSON数据/正文并将其打印到控制台 我编写了以下代码来实现这一点 fetchQuestion(String userIdentifier) async { String urlToCall = "someURLhere"; try { Response response = await Dio().get( urlToCall,
fetchQuestion(String userIdentifier) async {
String urlToCall =
"someURLhere";
try {
Response response = await Dio().get(
urlToCall,
options: Options(headers: {
HttpHeaders.authorizationHeader: "Bearer " + userIdentifier,
}),
);
print(response.data);
} catch (e) {
print(e);
}
}
此代码的问题是,当我打印response.data
时,只打印null
。尽管我确信响应数据包含一个JSON文件
我已经在后端进行了检查,得到了200
状态码。此外,打印response.headers
会打印我期望的标题。只有响应.body
打印null
我尝试过的问题包括
打印(utf8.decode(response.data))代码>
json.decode(response.data)
->在这种情况下
NoSuchMethodError:对null调用了getter“length”。
error如果您能在打印收到的JSON文件方面提供任何帮助,我将不胜感激。您是否打印了just response以查看其中有哪些字段。 我没有使用过DIO,但http包对我来说很好:
import 'package:http/http.dart' as http;
...
final response = await http.get(Url);
打印
(响应)
使用DIO打印null
。但同样的请求,当使用http包实现时,会打印一个future
引用。有没有办法在将来可以打印之前暂停打印?是的,我必须使用FutureBuilder和snapshot来访问实际数据。