2014-01-15 33 views
0

我認爲這是一個關於在Web地址顯示json文件的簡單問題,以便可以通過Swagger UI進行識別。在web地址顯示json數據

地址http://petstore.swagger.wordnik.com/api/api-docs顯示json數據,並允許將文件保存爲.json文件。我一直無法複製這使用HTML。這是我試過的:

<head> 
<meta http-equiv="content-type" content="application/json; charset=UTF-8"> 
</head> 
<body> 
JSON DATA 
</body> 

文本顯示,但保存頁面不會保存爲json文件。

我應該加上http://petstore.swagger.wordnik.com/api/api-docs是一個目錄,而http://petstore.swagger.wordnik.com/api/api-docs/pet也是json數據。

+0

嗯,這是怎麼一回事,因爲這不是一個JSON文件,也許?這是HTML ...你想要達到什麼目的?你想保存的文件只包含「'JSON DATA'」,沒有周圍的標記?只將「JSON DATA」放在文件中:) –

+0

是的,我只需要http://domain.com/myfile就可以保存爲json。但http://domain.com/myfile應該是一個目錄,而http://domain.com/myfile/other也包含json。 http://petstore.swagger.wordnik.com/api/api-docs執行此操作。 – davis

+0

如果我只是有data.json我怎麼能得到的Web地址默認顯示這個文件(與index.html相同的方式)? – davis

回答

1

輸出這是你的文件:

JSON DATA 

:)

你沒有在那裏需要HTML。只是你的JSON數據。您需要使用PHP或.htaccess文件來提供內容類型標題(必須在將任何內容輸出到瀏覽器之前完成!)。一個HTML標題我不認爲會按預期工作,因爲頁面內容仍然是HTML,不管是什麼,你說它是。無論內容類型如何,實際內容都以HT​​ML開頭,因此CTLR + S將使用HTML內容進行保存。

如果使用PHP,這個文件會爲你工作(它保存爲index.php文件並請求文件夾時,這將是默認的,因爲你在你的問題中留言請求):

<?php header('Content-Type:application/json; charset=utf8'); ?>JSON DATA 

如果您願意,您可以在?>之後和JSON DATA之前插入一個換行符,PHP將在關閉PHP標籤後忽略單行換行。

這將使瀏覽器檢測到源是application/json,而不是將其解釋爲HTML文件。不過,我懷疑大多數瀏覽器不知道如何處理json文件。如果你要強制下載文件,(甚至暗示,如「我的-驚人-file.json」的名稱),可得做到:

How to force file download with PHP