最佳实践,其中包含密钥并检查JSON中是否为空/空?

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

我将收到以下对我的服务的JSON请求。

{
  "city" : "Hyderabad",
  "state" : "Telangana",
  "country" : "India"
}

有时,在请求中,我可能没有得到city字段,或者city字段可能为空,这是不期望的。因此,我通过以下方式进行处理:payload是我的请求JSON。

if ( payload.has("city") && !payload.get("city").equals("") )

我正在以上述方式进行处理。但是问题是,如果我再次添加新的强制性条款,那么我需要再添加两个条件:

if ( payload.has("city") && !payload.get("city").equals("") && payload.has("newKey") && !payload.get("newKey").equals("") )
  1. 检查密钥是否可用。
  2. 检查该值是否不为空。是否有最佳实践来解决此问题?
java playframework jackson playframework-2.2 jsonnode
1个回答
0
投票

我将JSON有效负载反序列化为一个对象,然后您可以根据需要使用getter的组合。

MyObj toValue = mapper.readValue(parser, MyObj.class);

如果您想坚持原来的方法,那么我将创建一些辅助方法以使其更具可读性:

private boolean hasCity(String payload) {
   return payload.has("city") && !payload.get("city").equals("");
}
© www.soinside.com 2019 - 2024. All rights reserved.