我有一个进行其余Web服务调用的客户端,从该服务调用返回的数据是JSON对象。它具有以下字段名称,例如名称和年龄。我遇到一种情况,其中返回的数据中的字段为空。收到此{}而不是{"name":"john doe","age":"23"}。在JavaScript中处理异常的最佳方法是什么?
这取决于您期望的数据。
经典的方式是
if (typeof object.property === "undefined") {
...
}
Run Code Online (Sandbox Code Playgroud)
这也意味着这undefined不是一个可接受的值(也不应该)。但是,如果这对您不利,那么总会有
if (!object.hasOwnProperty("property")) {
...
}
Run Code Online (Sandbox Code Playgroud)
如果期望使用非空字符串(或非零数字),则可以快捷方式执行以下操作:
if (!object.property) {
...
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您需要接受空字符串或零,这也很常见:
if (object.property == null) {
...
}
Run Code Online (Sandbox Code Playgroud)
这样会拒绝类似undefined(应该是您的情况)和 null(可能是另一个不可接受的值)之类的值。
但是,最后,我建议返回一个空对象而不是一个空对象null,如下所示:
if (object != null) {
// do your stuff with name and age
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |