2010-10-08 50 views
138

Tôi không thể tìm thấy câu trả lời cho câu trả lời này:Google Chrome hiển thị phản hồi JSON AJAX dưới dạng cây chứ không phải dưới dạng văn bản thuần túy

Cuộc gọi AJAX của tôi trả về dữ liệu JSON. Trong Công cụ dành cho nhà phát triển của Google Chrome> Tài nguyên> XHR khi tôi nhấp vào tài nguyên ở bên trái và sau đó trên tab Nội dung, tôi thấy chuỗi JSON dưới dạng chuỗi và không phải là cây như Firebug và Firebug Lite.

Làm cách nào để buộc Chrome trao đổi nó dưới dạng cây. Có một loại nội dung mà tập tin PHP của tôi phải có ???

Tôi rất vui khi biết câu trả lời!

Cảm ơn bạn Stefanos

+0

@ Matt McClure của câu trả lời dưới đây là câu trả lời! – bcm

+0

Tôi cũng gặp vấn đề về cấu trúc cây khi các chuỗi là dấu ngoặc đơn 'thay vì dấu ngoặc kép', thay đổi 'thành' đã giúp – Matt

Trả lời

5

Các đúng content-type cho dữ liệu JSON là application/json. Tôi cho rằng đó là những gì bạn đang thiếu.

+4

Thật không may điều này vẫn không buộc Chrome biến chuỗi JSON thành cây. Cảm ơn mặc dù! – GRboss

36

Google Chrome hiện hỗ trợ điều này (Developer Tools > Network > [XHR item in list] Preview).

Ngoài ra, bạn có thể sử dụng công cụ của bên thứ ba để định dạng nội dung json. Here của một trong đó trình bày một cái nhìn cây, và here của người khác mà chỉ định dạng văn bản (và không xác nhận).

272

Để xem một cái nhìn cây trong các phiên bản gần đây của Chrome:

Navigate to Developer Tools> Mạng> phản ứng trao> Preview

+56

Hoàn toàn được tô bóng trên tab "Xem trước" và đang xem tab "Phản hồi". Cảm ơn! –

+6

Nhưng tôi nghĩ rằng để có được điều này, bạn cần phải có loại nội dung chính xác. – alexserver

+3

Có, bạn cần loại nội dung "ứng dụng/json" hợp lệ được chỉ định cho chrome để cung cấp cho bạn trình đơn thả xuống có thể thu gọn. – tweak2

3

tôi đã tìm thấy câu trả lời:

Bạn PHẢI mã hóa của bạn json như thế này: {"c":21001,"m":"p"} nhưng không {c:21001,m:"p"} hoặc {'c':21001,'m':'p'}

như vậy, chìa khóa của một dict phải được bọc trong dấu ngoặc kép: ", sau đó chrome sẽ xem trước nó như json chứ không phải là văn bản thuần túy.

+3

Đó là bởi vì cái đầu tiên là JSON hợp lệ và các ví dụ khác không phải là (mặc dù chúng là javascript hợp lệ). Xem http://simonwillison.net/2006/oct/11/json/ – styfle

3

Để nó hiển thị thông báo JSON đúng, nó phải có loại mime "application/json" và được cấu trúc chính xác.

Bạn có thể kiểm tra cấu trúc here

0

Tôi không chắc chắn nếu Chrome đã bổ sung tính năng này kể từ khi câu trả lời cuối cùng, nhưng tôi đã có thể xem các phản ứng json bởi ...

  • khai mạc các công cụ nhà phát triển trong trình duyệt trong khi trên trang có yêu cầu
  • gửi yêu cầu
  • trong công cụ nhà phát triển - tab "Bảng điều khiển" - nhấp vào cây "Đối tượng" trong tài nguyên điện tử để mở rộng

... Tôi có thể xem phản hồi dưới dạng phân cấp có thể đọc được hiển thị những gì cần hỏi và nội dung được trả về. (Cả tab Mạng hoặc Tài nguyên đều không hữu ích gì mà tôi có thể tìm thấy.)

Chúc bạn yêu cầu!

1

Đã xảy ra sự cố với công cụ xây dựng Google Chrome Dev 24.0.1312.5 khiến bảng điều khiển xem trước không còn hiển thị cây đối tượng json mà là văn bản phẳng hơn. Nó cần được cố định trong dev tiếp theo

Xem thêm ở đây: http://code.google.com/p/chromium/issues/detail?id=160733

Các vấn đề liên quan