【发布时间】:2021-05-16 03:52:51
【问题描述】:
我想在 Flutter 上将这个值显示给 listview
[{"No":0,"interest":"0.00","balance":"13,000,000.00","principal":"0.00","Installment":"0.00","Status":true},{"No":1,"interest":"130,000.00","balance":"0.00","principal":"13,000,000.00","Installment":"13,130,000.00","Status":true}]
但我得到的结果像
I/flutter (12074): Error FormatException: Unexpected character (at character 1)
I/flutter (12074): <br />
I/flutter (12074): ^
I/flutter (12074):
这是我的 List LoanModel
static Future<List<LoanModel>> getsimulation({String periodtime, String interestpermonth, String loanamountrequest, String idUser, String url}) async {
var url = "http://192.168.0.23/edufund-api/Api/loansimulation.php?periodtime=" + periodtime + "&interestpermonth=" + interestpermonth + "&loanamountrequest=" +loanamountrequest;
final response = await http.get(url,headers:{"Content-Type":
"application/json"});
var res = LoanModel.fromJson(jsonDecode(response.body)[0]);
print(response.body);
}
这里是在已经输入值 periodtime、interestpermonth 和 loanamountrequest 时加载 JSON 的函数
_load() async {
List<LoanModel> loanmodel =
(await RestApi.getsimulation());
setState(() => _loanmodel = loanmodel);
}
这是我的模型
List<LoanModel> allLoan(String str) {
final jsonData = json.decode(str);
return new List<LoanModel>.from(jsonData.map((x) => LoanModel.fromJson(x)));
}
class LoanModel {
bool Status;
String message;
String No;
String interest;
String balance;
String principal;
String Installment;
List<Data> data;
LoanModel({
this.Status,
this.message,
this.No,
this.interest,
this.balance,
this.principal,
this.Installment,
this.data,
});
factory LoanModel.fromJson(Map<String, dynamic> parsedJson) {
var list = parsedJson['data'] as List;
print(list.runtimeType);
List<Data> dataList = list.map((i) => Data.fromJson(i)).toList();
return LoanModel(
Status: parsedJson['Status'],
message: parsedJson['message'],
No : parsedJson['No'],
interest: parsedJson['interest'],
balance: parsedJson['balance'],
principal: parsedJson['principal'],
Installment: parsedJson['Installment'],
data: dataList,
);
}
}
class Data {
final int No;
final String interest;
final String balance;
final String principal;
final String Installment;
Data({
this.No,
this.interest,
this.balance,
this.principal,
this.Installment
});
factory Data.fromJson(Map<String, dynamic> parsedJson) {
return Data(
No: parsedJson['No'],
interest: parsedJson['interest'],
balance: parsedJson['balance'],
principal: parsedJson['principal'],
Installment: parsedJson['Installment']
);
}
我怎样才能像图片 2 一样输出,以及如何在颤动中解决这个 Unexpected 字符? 谢谢
【问题讨论】:
-
我会说你得到了一个不是 200 的 HTTP 响应代码,并且伴随着一个 HTML 错误页面。在尝试将响应解析为 JSON 之前检查响应代码。
-
在邮递员中,API 工作正常。对此有何建议?
-
结果为 200 但返回错误
-
I/flutter (12439): true I/flutter (12439): 200 I/flutter (12439): Error FormatException: Unexpected character (at character 1) I/flutter (12439):
-
好吧,您必须在尝试解析之前打印出您实际收到的内容,以查看发送给您的内容。错误似乎在另一端,发送 HTML 而不是 JSON。
标签: flutter