繁体   English   中英

字符串到JSON对象的转换iOS Swift

[英]String to JSON Object Convert iOS Swift

从服务器,我收到以下字符串作为(AnyHashable:String)

{Type:1, OrderId:174}

我知道这不是有效的Json字符串,但我必须分别处理TypeOrderId

我正在将字符串转换为JSONObject,但是由于我的字符串无效,因此下面的代码无法将其转换。

if let tag = notification.request.content.userInfo["tag"]{
        if let json = try? JSONSerialization.data(withJSONObject: tag, options: []) {
            // here `json` is your JSON data
            print(json)
        }
    }

任何人都可以建议我该如何获取Type和OrderId值,以便我可以处理响应? 还是我必须将字符串转换为json,然后再转换为JSONObject?

由于该字符串不是有效的JSON,因此您必须手动对其进行转换。

编码

  • 删除前括号和尾括号。
  • ", "分割字符串。
  • 将每个项目转换为[String:Int]

假定所有键均为String ,所有值均为Int

let string = "{Type:1, OrderId:174}"
let trimmedString = string.trimmingCharacters(in: CharacterSet(charactersIn: "{}"))
let components = trimmedString.components(separatedBy: ", ")
var result = [String:Int]()
_ = components.map { item in
    let keyValue = item.components(separatedBy: ":")
    result[keyValue[0]] = Int(keyValue[1])
}

安慰:

["Type": 1, "OrderId": 174]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM