{ "code": 200, "type": 1, "viemDataDto": { "dataType": 1, "deviceGlobalId": "1", "originalDrawResult": { "DF": 167.30588580010942, "DFQ": 0, "Efs": 0.0, "IQStatus": 0, "Pitch": 0.0, "audioStatus": 0, "avgEfs": 0.0, "bestDegree": 0.0, "dF": 167.30588580010942, "dFQ": 0, "efs": 0.0, "frq": 0.0, "frqStatus": 0, "iQStatus": 0, "minEfs": 0.0, "minFrq": 0.0, "pitch": 0.0, "tableStatus": 0 }, "taskId": 999 } } 以上json数据用一下 public static Double getDF(String json) { try { JSONObject result = JSON.parseObject(json); JSONObject dataObject = result.getJSONObject("data"); String DF = dataObject.getJSONObject("originalDrawResult").getString("DF"); if (DF != null) { return Double.parseDouble(DF); } } catch (Exception e) { log.info("json转换异常:{}", json); e.printStackTrace(); } return null; } 接受报java.lang.NullPointerException错
时间: 2023-07-03 14:29:38 浏览: 155
根据你提供的代码和 JSON 数据,可能出现空指针异常的地方是在以下代码中:
```
String DF = dataObject.getJSONObject("originalDrawResult").getString("DF");
```
如果 "originalDrawResult" 这个键不存在或者值为 null,那么 `dataObject.getJSONObject("originalDrawResult")` 将会返回 null。接着调用 `getString("DF")` 方法就会出现空指针异常。
你可以在调用 `getJSONObject("originalDrawResult")` 后添加一个判断是否为 null 的语句,例如:
```
JSONObject originalDrawResult = dataObject.getJSONObject("originalDrawResult");
if (originalDrawResult != null) {
String DF = originalDrawResult.getString("DF");
if (DF != null) {
return Double.parseDouble(DF);
}
}
```
这样就可以避免出现空指针异常了。
阅读全文