【发布时间】:2023-02-01 07:54:41
【问题描述】:
在 Postman 上尝试请求,响应的“数据”是一个空字典。
但是,当我使用 Alamofire 快速尝试时,“数据”被误解为空数组。我做错了什么?
使用 debugPrint(response) 的原始响应打印以下内容:
[Response]:
[Status Code]: 200
[Headers]:
Access-Control-Allow-Origin: *
Alt-Svc: h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"
Cache-Control: no-cache, private
Content-Encoding: br
Content-Length: 71
Content-Type: application/json
Date: Tue, 31 Jan 2023 16:32:18 GMT
Vary: Accept-Encoding
x-powered-by: PHP/8.0.24
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
[Body]:
{"status":false,"message":"Kullan\u0131c\u0131 bilgileri hatal\u0131.","data":[]}
尝试更改请求的编码和标头,但无济于事。
【问题讨论】:
-
我建议放弃 Alamofire,转而使用
URLSession和Codable。 -
并且请将文字作为实际文字发布,而不是图片。
-
"from: ..." 显示它是一个数组,这似乎是您收到的原始 JSON ...
-
你能打印
String(data: response.data, encoding: .utf8)吗?那应该是你得到的原始 JSON,在我看来它是一个数组,而不是字典。 -
@Larme,它是一个数组。
Optional("{\"status\":false,\"message\":\"Kullan\\u0131c\\u0131 bilgileri hatal\\u0131.\",\"data\":[]}")。我不明白的是,为什么它是关于邮递员的字典?我们的 Android 团队也没有问题。
标签: json swift api rest alamofire