Google Chrome відображає відповідь JSON AJAX як дерево, а не як звичайний текст


215

Я не можу знайти відповідь на це:

Мої дзвінки AJAX повертають дані JSON. У Інструментах для розробників Google Chrome> Ресурси> XHR, коли натискаю на ресурс зліва, а потім на вкладці Вміст, я бачу, що рядок JSON є рядком, а не деревом, як це роблять Firebug та Firebug Lite.

Як змусити Chrome відобразити його як дерево. Чи має тип вмісту мій файл PHP ???

Я був би радий дізнатися відповідь!

Дякую Стефаносе


@Matt McClure відповідь нижче - це відповідь!
bcm

У мене також виникли проблеми з отриманням структури дерева, коли рядки є одинарними лапками "замість подвійних лапок", змінивши "на" допомогло
Метт

Відповіді:


426

Щоб побачити вигляд дерева в останніх версіях Chrome:

Перейдіть до Інструменти для розробників> Мережа> задана відповідь> Попередній перегляд


105
Повністю заглянув на вкладку "Попередній перегляд" і дивився на вкладку "Відповідь". Дякую!
Тед Налейд

8
Але я думаю, щоб отримати це, вам потрібно мати правильний тип вмісту.
alexserver

4
Так, вам потрібний дійсний тип вмісту "application / json", вказаний для chrome, щоб дати вам розбірне розкривне меню.
tweak2

5
Це насправді трохи менш інтуїтивно, тому що на вкладці Заголовки вони дозволяють нам переключатися між "сирими" та "розбірними", тому можна було б очікувати, що вони запропонують подібний "проаналізований" вид на вкладці Відповідь.
Г. Стойнев

1
Я б хотів, щоб насправді це був JSON замість дерева
Simon_Weaver

57

Тепер Google Chrome підтримує це ( Developer Tools > Network > [XHR item in list] Preview).

Крім того, ви можете скористатися стороннім інструментом для форматування вмісту json. Ось такий, який представляє вид дерева, і ось інший, який просто форматує текст (і робить валідацію).


6

Правильний тип вмісту для даних JSON є application/json. Я припускаю, що саме цього вам не вистачає.


6
На жаль, це все ще не змушує Chrome перетворити рядок JSON у дерево. Дякую, хоча!
GRboss

3

Я знайшов відповідь:

Ви ОБОВ'ЯЗКОВО кодуєте свій json так: {"c":21001,"m":"p"}але ні {c:21001,m:"p"}або{'c':21001,'m':'p'}

Таким чином, ключ диктату повинен бути загорнутий у подвійні лапки: "тоді хром буде попередньо переглядати його як json, а не звичайний текст.


7
Це тому, що перший дійсний JSON, а інші приклади - ні, хоча вони є дійсним JavaScript). Дивіться simonwillison.net/2006/oct/11/json
styfle

2

Для того, щоб воно відображало повідомлення JSON належним чином, воно повинно мати тип mime типу "application / json" та бути правильно структурованою.

Ви можете перевірити структуру тут


1

Виникла проблема зі збіркою версії Google Chrome Dev 24.0.1312.5, через яку панель попереднього перегляду більше не відображає дерево об’єктів json, а досить плоский текст. Це слід зафіксувати в наступному диві

Детальніше тут: http://code.google.com/p/chromium/isissue/detail?id=160733



0

Я не впевнений, чи додав Chrome цю функцію з останньої відповіді, але мені вдалося переглянути відповідь json від ...

  • відкриття інструментів для розробників у браузері, перебуваючи на сторінці із запитом
  • подання запиту
  • в інструментах для розробників - вкладка "Консоль" - натисніть на дерево "Об'єкт" під ресурсом, щоб розгорнутись

... Мені вдалося розглянути відповідь як читаючу ієрархію, яка показала, про що потрібно запитати, а що повертається. (Ні на вкладці "Мережа", ні в ресурсах нічого корисного я не міг знайти.)

З задоволенням просимо!


-1

Ви можете використовувати розширення Google Chrome: JSONView Усі форматовані результати json відображатимуться безпосередньо в браузері.


2
ОП запитували конкретно про json-код, показаний всередині інструментів розробки.
графа
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.