如何使用 Alamofire 库解码非 JSON 数据

问题描述 投票:0回答:1

我使用了一个非 JSON 格式的 API 响应,但仍想对其进行解码,有哪些方法可以实现此阶段。

现在响应失败,无法解码 JSON: dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "给定的数据不是有效的 JSON。

我想解码,无论是否是非 json 响应

我尝试用 : 替换 =(equals) 并解析 JSON 并且它有效,但在做了一些更改后它停止工作了

回复采用这种格式

 Data = { "value" = "pair"; "value2" = "pair2"; }

我的尝试

let validJSONString = rawString
                       .replacingOccurrences(of: "=", with: ":")
                       .replacingOccurrences(of: "NA", with: "null")
                       .replacingOccurrences(of: ";", with: ",")
swift alamofire
1个回答
0
投票

一个选择是添加另一个替换以删除结尾的逗号

.replacing(/,\s*}/, with: "}")

所以整个转换是

let validJSONString = rawString
    .replacingOccurrences(of: " =", with: ":")
    .replacingOccurrences(of: "NA", with: "null")
    .replacingOccurrences(of: ";", with: ",")
    .replacing(/,\s*}/, with: "}")
© www.soinside.com 2019 - 2024. All rights reserved.