Json Swift 5:如何从NSSingleObjectArray获取数据?
我正在从Google Translator API获取数据。我不知道如何访问描述 我所有的尝试都失败了,请帮帮我Json Swift 5:如何从NSSingleObjectArray获取数据?,json,swift,parsing,Json,Swift,Parsing,我正在从Google Translator API获取数据。我不知道如何访问描述 我所有的尝试都失败了,请帮帮我 let json = try JSONSerialization.jsonObject(with: data, options: []) var data = json as! [String: Any] data = data["data"] as! [String:Any]
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";
}
)
]
[“翻译”:(
{
detectedSourceLanguage=en;
translatedText=“\U0420\U0430\U0431\U043e\U0442\U0430”;
}
)
]
引用我的代码,我只是在学习,如果有一种不使用结构解析这个json的方法,请告诉我。我认为在这种情况下使用结构是不合理的,因为json响应很小,我只需要获得2个参数,对吗?下面是工作代码:
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)
let translations=data[“data”]as?[[String;String]];让firstTranslation=translations.first;让翻译=第一次翻译[“翻译文本”]
?我的意思是让翻译=数据[“翻译”]as?[[String:String]
。使用JSONDecoder
和Decodable
这将非常容易。除非重复代码,否则使用结构总是合理的。代码可读性的差异是巨大的。