SwiftyJson Swift 3 无法访问 JSON 中的字符串

Posted

技术标签:

【中文标题】SwiftyJson Swift 3 无法访问 JSON 中的字符串【英文标题】:SwiftyJson Swift 3 cannot access string in JSON 【发布时间】:2017-08-31 10:04:50 【问题描述】:

我在使用 SwiftyJson 访问“令牌”时遇到问题。 loginTokens 是一个全局变量,其中存储了一些 JSON 数据。请参阅下面的打印。

我的代码从不运行打印(令牌)。

如这些文档中所述,它应该可以工作... https://github.com/SwiftyJSON/SwiftyJSON

    override func viewDidLoad() 
        super.viewDidLoad()        
        print(loginTokens)
        if let token = loginTokens["token"].string
            print(token)
        
    

print(loginTokens) 输出:


    "customer" : 
        "href" : "myURL.com"
    ,
    "token" : "kkasd012030-asdasd9kk"

loginTokens 设置如下:

应用代理:

if let tokens = UserDefaults.standard.string(forKey: "loginTokens")
    loginTokens = JSON(tokens)

【问题讨论】:

loginTokens 的类型是什么? 试试 .rawString() @V.Khambir 它是 JSON 类型。请看我的编辑 @ThomasCharlesworth 您如何在 UserDefaults 中存储 loginTokens 的数据? 【参考方案1】:

您的tokens 必须是Data 类型。

在之前使用以下代码将tokens 转换为Data

loginTokens = JSON(data: tokens.data(using: .utf8))

【讨论】:

以上是关于SwiftyJson Swift 3 无法访问 JSON 中的字符串的主要内容,如果未能解决你的问题,请参考以下文章

为啥 SwiftyJSON 无法在 swift 3 中解析数组字符串

SwiftyJson 无法导入在 3.0.2 中使用 Carthage 编译的 Swift 3.1 模块中

Alamofire 4 请求返回 NSArray,无法弄清楚如何在 Swift 3 中使用 SwiftyJSON 进行解析

SwiftyJSON 不工作 / Swift 1.2 SwiftyJSON 文件

swift、Alamofire、SwiftyJSON:如何解析 arrayObject

在 swift 4.0 中使用 Alamofire/SwiftyJSON 时出错