Flutter Dio 包在解析服务器的响应时导致 FormatEXception。服务器返回 STATUS 200。我猜测这是 Dio 解码 JSON 时的内部原因。有什么提示吗? 必须强调的是,它导致异常的次数为 7/10。 3/10 次它正确解析没有问题。后端框架是Laravel。
JSON 响应采用以下格式
{
"success": true,
"responseMessage": "SILVER NOT ENOUGH ",
"responseCode": 1117,
"data": [
{
"item_id": 194,
"silver": 2479.95,
"name": "PUBG Mobile 60 UC",
"description": "PUBG",
"photo": "",
"disable": true
},
{
"item_id": 195,
"silver": 24930,
"name": "PUBG Mobile 600 + 60 UC",
"description": "PUBG",
"photo": "",
"disable": true
},
{
"item_id": 192,
"silver": 12480,
"name": "PUBG Mobile 300 + 25 UC",
"description": "PUBG",
"photo": "",
"disable": true
},
{
"item_id": 102,
"silver": 2850,
"name": "FreeFire USD 1 (100 + 10 Diamonds)",
"description": "FreeFire",
"photo": "",
"disable": true
},
{
"item_id": 104,
"silver": 5700,
"name": "FreeFire USD 2 (210 + 21 Diamonds)",
"description": "FreeFire",
"photo": "",
"disable": true
},
{
"item_id": 103,
"silver": 28500,
"name": "FreeFire USD 10 (1080 + 108 Diamonds)",
"description": "FreeFire",
"photo": "",
"disable": true
},
{
"item_id": 46,
"silver": 29400.000000000004,
"name": "Amazon US USD 10 (US)",
"description": "Amazon US",
"photo": "",
"disable": true
},
{
"item_id": 61,
"silver": 11460,
"name": "Apple & iTunes Card US USD 4 (US)",
"description": "Apple Card US",
"photo": "",
"disable": true
},
{
"item_id": 63,
"silver": 14325.000000000002,
"name": "Apple & iTunes Card US USD 5 (US)",
"description": "Apple Card US",
"photo": "",
"disable": true
},
{
"item_id": 54,
"silver": 5730,
"name": "Apple & iTunes Card US USD 2 (US)",
"description": "Apple Card US",
"photo": "",
"disable": true
},
{
"item_id": 155,
"silver": 27300,
"name": "Nintendo eShop US USD 10 (US)",
"description": "Nintendo eShop US",
"photo": "",
"disable": true
},
{
"item_id": 201,
"silver": 14100,
"name": "Razer Gold 5$ Global",
"description": "Razer Gold Pins",
"photo": "",
"disable": true
},
{
"item_id": 307,
"silver": 2700,
"name": "Jawaker 4250 Token",
"description": "Jawaker 4250 Token",
"photo": "",
"disable": true
},
{
"item_id": 308,
"silver": 13500,
"name": "Jawaker 32500 Token",
"description": "Jawaker 32500 Token",
"photo": "",
"disable": true
},
{
"item_id": 309,
"silver": 27000,
"name": "Jawaker 70000 Token",
"description": "Jawaker 70000 Token",
"photo": "",
"disable": true
},
{
"item_id": 1129,
"silver": 2820,
"name": "Razer Gold - $1 (Global)",
"description": "Razer Gold - USD 1 (Global)",
"photo": "",
"disable": true
},
{
"item_id": 1130,
"silver": 5640,
"name": "Razer Gold - $2 (Global)",
"description": "Razer Gold - USD 2 (Global)",
"photo": "",
"disable": true
},
{
"item_id": 133,
"silver": 57000,
"name": "Mobile Legends 1167 Diamonds",
"description": "Mobile Legends",
"photo": "",
"disable": true
}
]
}
您是否正确地将数据转换为模型类?看起来““silver”:2479.95”主要是一个整数,除了第一个之外。也许尝试将其转换为双精度?