Отображение всего объекта JSON в console.log в Chrome без использования JSON.stringify()

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

console.log("my object: ", theObject);

Я получаю вывод:

theObject {id: "the id", name: "the name", type: "the type", ...} маленький синий журнал консоли i

с подсказкой синего я говорю:

Значение ниже было оценено только что.

Однако созданный мной объект JSON имеет больше атрибутов, чем просто «id», «name» и «type». Например, я хочу просмотреть атрибут «метка», но когда я нажимаю стрелку вниз, чтобы просмотреть остальные атрибуты, ничего не происходит.

Я обнаружил, что могу отобразить весь объект, используя

console.log("my object", JSON.stringify(theObject));

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

я так же пробовал

console.log("my object", ...{theObject});

потому что я думал, что печатаю указатель на объект, а не сам объект, и что в какой-то момент фактический объект уничтожается. Это не сработало. Пожалуйста, дайте мне знать, если вы знаете о решении, и, пожалуйста, предоставьте конструктивную (и добрую!) критику по поводу этого поста, так как это мой первый пост.


person MCA    schedule 15.12.2020    source источник
comment
Как вы смотрите консоль? Какой браузер? Это встроенная консоль или вы используете что-то вроде codepen?   -  person Rojo    schedule 15.12.2020
comment
Привет! Это просто журнал консоли Chrome. ctrl+shift+j для просмотра. Пожалуйста, обратитесь к заголовку вопроса, где я указал это!   -  person MCA    schedule 15.12.2020
comment
Мой плохой, я пропустил это.   -  person Rojo    schedule 15.12.2020
comment
Не беспокойся! Я ценю вашу помощь в любом случае.   -  person MCA    schedule 15.12.2020
comment
Попробуйте JSON.stringify(obj, null, 4). Или глубоко клонировать объект.   -  person Bergi    schedule 15.12.2020
comment
@Bergi, что делают два параметра «null» и «4»?   -  person MCA    schedule 15.12.2020
comment
@MCA developer.mozilla.org/ en-US/docs/Web/JavaScript/Reference/   -  person Bergi    schedule 15.12.2020
comment
@Bergi - я попробовал ваше первое решение JSON.stringify(obj, null, 4), и оно просто напечатало строку плюс null 4, но не превратило объект во что-то читаемое с цветными атрибутами.   -  person MCA    schedule 15.12.2020
comment
Как вы получаете объект?   -  person Rojo    schedule 15.12.2020
comment
@MCA Ты console.log(JSON.stringify(obj), null, 4) или console.log(JSON.stringify(obj, null, 4))? Вы правы, раскраски нет, но читабельно.   -  person Bergi    schedule 15.12.2020
comment
@Rojo Можете ли вы уточнить, что вы спрашиваете? Я создаю объект в своем сервисе angular, а затем печатаю его в консоли в Chrome.   -  person MCA    schedule 15.12.2020
comment
Итак, вы создаете объект в javascript, а не загружаете файл .json откуда-то еще?   -  person Rojo    schedule 15.12.2020
comment
@Bergi, да, я уже могу просматривать объект как строку с помощью JSON.stringify, но мне нужна раскраска и возможность разворачивать/закрывать атрибуты, чтобы визуализировать только те атрибуты, которые мне нужны. Просто видеть белый текст бесполезно, поэтому я задаю этот вопрос!   -  person MCA    schedule 15.12.2020
comment
@Rojo точно, я сам создаю объект в javascript   -  person MCA    schedule 15.12.2020
comment
Отвечает ли это на ваш вопрос? Как показать полный объект в консоли Chrome?   -  person Rojo    schedule 15.12.2020
comment
@rojo Я только что попробовал, это не работает и вообще не печатает в консоли Chrome.   -  person MCA    schedule 15.12.2020
comment
@MCA Если вы настаиваете на регистрации его как объекта, вам нужно будет его клонировать (см. дубликат связанного вопроса). Обратите внимание, однако, что вам, вероятно, также следует найти код, который удаляет свойства из вашего объекта, и изменить его, чтобы вместо этого создать новый объект, рассматривая ваш зарегистрированный объект как неизменяемый.   -  person Bergi    schedule 15.12.2020
comment
@Берги большое спасибо, я ценю это   -  person MCA    schedule 15.12.2020
comment
Используйте расширение браузера, например JSONView, или сайт, например jsonviewer.stack.hu, скопируйте и вставьте JSON из консоли. .   -  person Heretic Monkey    schedule 15.12.2020
comment
Или еще одна (гораздо лучшая) альтернатива: не выполнять отладку с помощью console.log, а фактически поместить точку останова на эту строку, а затем проверить объект до того, как другой код сможет его изменить.   -  person Bergi    schedule 15.12.2020
comment
@HereticMonkey Мне не разрешено публиковать код где бы то ни было, поскольку он является собственностью, но я буду помнить об этом для личных проектов в будущем!   -  person MCA    schedule 15.12.2020
comment
@Bergi, спасибо, я попробую это, прежде чем попробую глубокое клонирование и обновление здесь.   -  person MCA    schedule 15.12.2020