首页 > 解决方案 > 使用 swift 从 JSON 中删除不需要的数据

问题描述

我得到回应

{"msg":"Success: Mobile Number is Valid","status":0}396b6c706a54383638343131  

如何使用 swift 从我的 API 响应中获取有效的 JSON 我收到 JSON 错误。

代码:

NSLog("Login response: " + response, "response")
    let jsonTag = JSON(response.dropLast(24).data(using: .utf8)!)
    let loginModelRootClass = LoginModelRootClass(fromJson: jsonTag )

    if  (loginModelRootClass.status == 0)
    {
        /* successfully login */
        NSLog("Login response: " + loginModelRootClass.msg, "response")
    }
    else
    {
        /* failure login */
        NSLog("Login response: " + loginModelRootClass.msg, "response")

新来的 swift 请帮忙。

标签: jsonswiftxcode

解决方案


我同意最好的选择是让后端发送有效 json 的评论。但是,如果这是不可能的,您可以使用下面的函数来删除无效的尾随数据,然后使用解码Codable

func clean(json: String) -> String? {
   guard let closing = json.lastIndex(of: "}") else {return nil}
   var string = json
   let range = string.index(after: closing)..<string.endIndex
   string.removeSubrange(range)
   return string
}

推荐阅读