{
"key_one": {
"key_two": {
"value": 1,
"data": 1
}
}
}
Как проверить, является ли value
из key_one
object
, а не value
самим собой?
@edit Проверено для обеспечения минимального воспроизводимого примера.
typeof input.key_one
сообщит вам, является ли это объектом:
const input = {
"key_one": {
"key_two": {
"value": 1
}
}
};
console.info(typeof input.key_one);
Выход:
object
Примечание. Если вы хотите провести различие между объектом и массивом, вы можете использовать это:
Array.isArray(val) ? 'array' : typeof val
Вы можете получить имена ключей, пройдя объект с помощью Object.keys()
. Детализация рекурсивно, если значение является объектом.
спасибо, я думаю, что я справлюсь оттуда. Кажется, я немного преувеличиваю
typeof — хорошее решение, но оно также возвращает «объект» для массива, поэтому это может вызвать проблемы, если тип данных изменится в будущем.
@LokeshYadav: Ага. Если вы хотите сделать это различие, вы можете использовать: Array.isArray(val) ? 'array' : typeof val
@PeterThoeny Вы абсолютно правы. Намерение состояло в том, чтобы сохранить дополнительные проверки &. остатки в коде перед принятием решения.
он скажет, является ли это объектом для каждого ключа и значения внутри JSON, я прав? Я хочу определить, является ли значение объектом. Также без использования имени ключа.