首页 > 解决方案 > Swift 5:如何从 NSSingleObjectArray 获取数据?

问题描述

我正在从 Google Translator API 获取数据。我不确定如何访问描述?

我所有的尝试都失败了,请帮忙

let json = try JSONSerialization.jsonObject(with: data, options: [])
                var data = json as! [String: Any]
                data = data["data"] as! [String:Any]
                print(data!)

我在控制台中获取:

["translations": <__NSSingleObjectArrayI 0x600002837350>(
{
    detectedSourceLanguage = en;
    translatedText = "\U0420\U0430\U0431\U043e\U0442\U0430";
}
)
]

引用我的代码,我只是在学习,如果有办法在不使用结构的情况下解析这个 json,请告诉我。我认为在这种情况下使用结构是不合理的,因为 json 响应很小,我只需要获取 2 个参数,对吗?

标签: jsonswiftparsing

解决方案


这是工作代码:

        let json = try JSONSerialization.jsonObject(with: data, options: [])
        var data = json as! [String: Any]
        data = data["data"]! as! [String:Any]
        let translations = data["translations"] as? [[String: String]]
        let firstTranslation = translations?.first
        let translated = firstTranslation!["translatedText"]
        print(translated)

推荐阅读