Лучшая практика для проверки содержит ключ и проверка на ноль / пусто в JSON? - PullRequest
1 голос
/ 15 января 2020

Я получу следующий запрос JSON к моей службе.

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

Иногда в запросе может не отображаться поле города или поле города может быть пустым, что не ожидается. Итак, я обрабатываю это следующим образом:

полезная нагрузка - это мой запрос 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. проверить, значение не пустое.

    Есть ли лучшая практика для решения этой проблемы?

1 Ответ

0 голосов
/ 15 января 2020

Я бы десериализовал полезную нагрузку JSON в объект, затем вы можете использовать комбинацию геттеров как вам угодно.

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

Если вы хотите придерживаться своего первоначального подхода, я бы затем создал несколько вспомогательные методы, чтобы сделать все это более читабельным:

private boolean hasCity(String payload) {
   return payload.has("city") && !payload.get("city").equals("");
}
...