Google Chrome wyświetla odpowiedź JSON AJAX jako drzewo, a nie jako zwykły tekst

215

Nie mogę znaleźć odpowiedzi na to pytanie:

Moje wywołania AJAX zwracają dane JSON. W Google Chrome Developer Tools> Zasoby> XHR po kliknięciu zasobu po lewej stronie, a następnie na karcie Treść widzę ciąg JSON jako ciąg, a nie jako drzewo, jak to robią Firebug i Firebug Lite.

Jak zmusić Chrome do wyświetlenia go jako drzewa. Czy istnieje typ zawartości, który musi mieć mój plik PHP?

Z chęcią znałbym odpowiedź!

Dziękuję Stefanos

GRboss
źródło
@Matt McClure odpowiedź poniżej jest odpowiedzią!
bcm
Miałem również problemy z uzyskaniem struktury drzewa, gdy ciągi są pojedynczymi cudzysłowami zamiast podwójnych cudzysłowów, zmieniając „na” pomógł
Matt

Odpowiedzi:

426

Aby zobaczyć widok drzewa w najnowszych wersjach Chrome:

Przejdź do Narzędzia dla programistów> Sieć> dana odpowiedź> Podgląd

Matt McClure
źródło
105
Całkowicie przeświecał zakładkę „Podgląd” i patrzył na zakładkę „Odpowiedź”. Dzięki!
Ted Naleid
8
Ale myślę, że aby to uzyskać, musisz mieć odpowiedni typ zawartości.
alexserver
4
Tak, potrzebujesz poprawnego typu zawartości „application / json” określonego dla chrome, aby uzyskać rozwijany menu rozwijane.
tweak2
5
Jest to rzeczywiście nieco mniej intuicyjne, ponieważ na karcie Nagłówki pozwalają nam przełączać się między „surowym” a „parsowanym”, więc można się spodziewać, że będą oferować podobny widok „parsowany” na karcie Odpowiedź.
G. Stoynev
1
Chciałbym, żeby faktycznie był to JSON zamiast drzewa
Simon_Weaver
57

Google Chrome obsługuje teraz to ( Developer Tools > Network > [XHR item in list] Preview).

Ponadto można użyć narzędzia innej firmy do sformatowania zawartości Json. Oto jeden, który przedstawia widok drzewa, a tutaj inny, który jedynie formatuje tekst (i sprawdza poprawność).

Trevor
źródło
6

Poprawny typ zawartości dla danych JSON to application/json. Zakładam, że tego brakuje.

Quentin
źródło
6
Niestety nadal nie zmusza Chrome do przekształcenia łańcucha JSON w drzewo. W każdym razie dzięki!
GRboss,
3

Znalazłem odpowiedź:

MUSISZ zakodować swój Json w ten sposób: {"c":21001,"m":"p"}ale nie {c:21001,m:"p"}lub{'c':21001,'m':'p'}

Zatem klucz słownika musi być zawinięty w podwójne cudzysłowy: "wtedy chrome wyświetli go jako json zamiast zwykłego tekstu.

Bingyan Liu
źródło
7
To dlatego, że pierwszy jest poprawnym JSON, a inne przykłady nie są (chociaż są one poprawnym językiem JavaScript). Zobacz simonwillison.net/2006/oct/11/json
styfle
2

Aby poprawnie wyświetlać komunikat JSON, musi mieć typ MIME „application / json” i mieć odpowiednią strukturę.

Możesz sprawdzić strukturę tutaj

Mariana B.
źródło
1

Wystąpił problem z wersją kompilacji Google Chrome Dev 24.0.1312.5, która powodowała, że ​​panel podglądu nie wyświetlał już drzewa obiektów json, ale raczej płaski tekst. Powinno to zostać naprawione w następnym dev

Zobacz więcej tutaj: http://code.google.com/p/chromium/issues/detail?id=160733

JeffBaumgardt
źródło
0

Nie jestem pewien, czy Chrome dodał tę funkcję od ostatniej odpowiedzi, ale byłem w stanie wyświetlić odpowiedź JSON przez ...

  • otwieranie narzędzi programistycznych w przeglądarce na stronie z żądaniem
  • złożenie wniosku
  • w narzędziach programistycznych - „Konsola” zakładka - kliknij drzewo „Obiekt” pod zasobem, aby rozwinąć

... byłem w stanie zobaczyć odpowiedź jako czytelną hierarchię, która pokazała, o co pytać i co jest zwracane. (Ani karta Sieć, ani zasoby nie zawierała nic pomocnego, co mogłem znaleźć).

Zadowolony z żądania!

Debora
źródło
-1

Możesz użyć rozszerzenia Google Chrome: JSONView Wszystkie sformatowane wyniki JSON będą wyświetlane bezpośrednio w przeglądarce.

Quang Vu
źródło
2
OP zapytał konkretnie o kod json pokazany w narzędziach programistycznych.
wykopanie