Express Проверка проверки Объект имеет вложенные ключи - PullRequest
0 голосов
/ 09 января 2020

Мой express сервер обрабатывает почтовый запрос, который получает тело, содержащее следующий JSON объект:

"QnsAns": {

    }

Как я могу проверить этот объект QnsAns HAS вложенный объект? Он должен выглядеть следующим образом:

"QnsAns": {
        "Q1": "A1",
        "Q2": "A2",
        "Q3": "A3",
        "Q4": "A4",
        "Q5": "A5"
    }

Используя express валидатор, я попытался использовать подстановочный знак '*', необязательный (), there (), но все результаты не увенчались успехом

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 января 2020

Чтобы проверить, содержит ли "QnsAns" "Q1", вы можете использовать hasOwnProperty

console.log(QnsAns.hasOwnProperty('Q1'));

Чтобы проверить тип Q1, вы можете использовать typeOf

console.log(typeof(Q1);

Если вам нужно использовать это несколько раз, попробуйте Joi Validations

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

Вопрос не очень понятен. Этот объект в формате JSON? Не могли бы вы опубликовать некоторые подробности, чтобы это помогло.

Теперь, в качестве простого решения, вы можете сделать что-то вроде этого, предполагая, что объект хранится в переменной data.

function checkIfNestedObjectIsEmpty() {

let data = <Your Object>

return (Object.entries(data[Object.keys(data)]).length === 0)
}
...