我尝试使用JsonDecode()解码JSON数据。当我试图通过[]索引访问每个成员并试图打印它们时,上面的错误将被打印到我的终端上。我试图建立一个费用跟踪应用程序,使用饼图显示用户的不同费用。
下面是代码的一个小片段。如果需要的话我可以提供更多。
可变费用=费用( _dateController.text,categories.toString(),money);
token.storage.read(key: "jwt").then((value) {
AuthService().getExpense(value).then((val) => {
print(val), // this prints the json data
mv = jsonDecode(val), // i tried to decode it
item = mv[0], //acessing each member
print(item['category']),
});
});再一次,我得到的错误是: ERROR:flutter/lib/ui/ui_dart_state.cc(198)未处理的异常:类型'Response‘不是'String’类型的子类型。
发布于 2022-08-18 12:45:45
由于api调用的返回类型为响应,而打印函数只能使用.toString方法将该值转换为字符串,因此会产生错误。另外,如果您正在进行api调用,则应该访问它的body进行打印。
例如:
token.storage.read(key: "jwt").then((value) {
AuthService().getExpense(value).then((val) => {
print(val.body.toString), // change here
});
});https://stackoverflow.com/questions/73403128
复制相似问题