swift - 如何将字符串转换为json字典?

标签 swift nsstring

下面的代码,我用来将字符串转换为字典,但不起作用。

let body = "{status:0}"
do {
    let dictionary = try convertToDictionary(from: body ?? "")
    print(dictionary) // prints: ["City": "Paris"]
} catch {
    print(error)
}

func convertToDictionary(from text: String) throws -> [String: String] {
    guard let data = text.data(using: .utf8) else { return [:] }

    let anyResult: Any = try JSONSerialization.jsonObject(with: data, options: [])

    return anyResult as? [String: String] ?? [:]
}

最佳答案

由于输入字符串不是 json,我建议使用非 json 解决方案

let array = body.dropFirst().dropLast().split(separator: ":").map {String($0)} 

var dictionary = [String: String]()
if let key = array.first, let value = array.last { 
    dictionary[key] = value
}

关于swift - 如何将字符串转换为json字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58691836/

相关文章:

objective-c - NSString 和 NSUrl 转换不正确

Iphone 迭代 NSString 的子字符串出现次数

ios - 特定帧的视频中的照片框架图像

ios - 如何获取自动续订订阅的到期日期

ios - swift 全局变量字符串返回 nil

ios - NSDictionary 到 NSString 不工作

ios - NSURL nil 因为有空格

ios - Google map 实用程序 IOS Pod 错误

ios - WKWebView 未在 iOS 13 上加载网页

ios - 我如何实现与苹果集群模式相同的行为(NSString 和 NSCFString)