json - JSON返回零检查?
问题描述
struct AltWX: Decodable {
var raw: String
}
typealias AltMetarDecode = [String: AltWX]
do
{
let aero = try decoder.decode(AltMetarDecode.self, from: data)
DispatchQueue.main.async {
if self.DownloadOrderCode == 3
{
if let Ab = aero[ICAO1]
{
self.Alternate1Metar.text = Ab.raw
UserDefaults.standard.set(Ab.raw, forKey: "MetarCodeAlt1")
}
}
...
上面的代码像这样访问一个 Json:
"xxxx": { "raw": "Test"
所以Ab.raw
会打印测试
如何添加错误检查以查看 ICAO1 是否存在以及 Ab.raw 是否存在,以及是否有任何值为 nil 的返回值?我阅读了对 Json 的通常捕获响应,但不确定如何针对这种情况特别格式化它,特别是我有很多订单代码,每个订单代码都必须单独检查。
解决方案
这检查是否ICAO1
存在并且raw
为空
if let raw = aero["ICAO1"]?.raw, raw.isEmpty {
}
请根据命名约定将变量命名为小写。
推荐阅读
- amazon-web-services - 如何将 DynamoDB 用户数据表与 AWS Cognito 同步以在 AWS Cognito 中创建/更新/删除用户?
- c++ - 在模板类中定义模板化容器类的向量
- signalr - 是否可以在 Azure 上使用 SignalR 在 .Net Core 和 MVC5 之间进行通信?
- asp.net-mvc - 未创建代理模型的国家下拉列表
- wpf - 如何使我的安装项目生成可执行文件?
- python - django 使用 mysql 迁移失败-TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是 'CustomUser
- inno-setup - 如何在 Inno Setup 中根据设置类型跳过自定义页面
- javascript - 是否根据数据选择 SOAP 与 REST?
- android - 发送数组
使用 KSOAP2 到 Web 服务 - c++ - 如果从派生类更改指针值,则会出现段错误