提问人:janubhai 提问时间:4/20/2022 更新时间:4/20/2022 访问量:528
如何在 Swift 5 中解析具有不同数据的响应字符串
how to parse response string with different data in swift 5
问:
我需要解析以下示例字符串以获取状态和代码,并将其绑定到结构“ErrorData”。
字符串 1 -("{\n \"errors\" : [ {\n \"status\" : \"400\",\n \"code\" : \"INVALID_DATA\"\n } ]\n}")
字符串2 -"{\n \"errors\" : [ {\n \"status\" : \"404\",\n \"code\" : \"INVALID_AUTH\"\n } ]\n}")
public struct ErrorData {
var errorStatus: String?
var errorCode: String?
}
这些只是 2 个示例字符串,还会有更多具有不同状态和代码值的相同格式的字符串。 如何使用如上所示的格式解析上述字符串。
答:
2赞
vadian
4/20/2022
#1
这是 JSON。这些结构与数据匹配
struct ErrorData : Decodable {
let errors : [ErrorItem]
}
struct ErrorItem : Decodable {
let status, code : String
}
解析它
let jsonString = """
{"errors":[{"status":"400","code":"INVALID_DATA"}]}
"""
do {
let result = try JSONDecoder().decode(ErrorData.self, from: Data(jsonString.utf8))
for item in result.errors {
print(item.status, item.code)
}
} catch {
print(error)
}
评论