我将收到以下对我的服务的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("") )
我将JSON有效负载反序列化为一个对象,然后您可以根据需要使用getter的组合。
MyObj toValue = mapper.readValue(parser, MyObj.class);
如果您想坚持原来的方法,那么我将创建一些辅助方法以使其更具可读性:
private boolean hasCity(String payload) {
return payload.has("city") && !payload.get("city").equals("");
}