从JSON解开可选文本

问题描述 投票:0回答:1

我有多个从JSON返回的字符串,并尝试了各种选项,但是无法解开其中的可选内容。下面的代码段

let parsedData = try JSONSerialization.jsonObject(with: data!,options: .allowFragments)    
as! [String:Any]

let currentConditions = parsedData["Result"] as! [String:Any]

self.fname = (currentConditions["fname"] as! String)
self.lname = (currentConditions["lname"] as! String)

print(self.fname!)
print(self.lname!)

在打印self.fname和self.lname时,总是将值返回为

Optional("("firstName")")
Optional("Optional("lastName")"

我尝试了在stackoverflow中尝试过的各种选项,例如使用

if let fname = fname {
    let ui1 = String(fname)
    print(fname)
}

并使用!展开。什么也没做。请帮忙。

json swift string optional unwrap
1个回答
0
投票

您是否尝试过简单地给print()一个默认值?

print(self.fname ?? "")

顺便说一句,我认为问题是这些是双重可选的。您需要将它们拆开两次。

print((self.lname!)!). // If you just want to bang these out.
© www.soinside.com 2019 - 2024. All rights reserved.