在Web地址显示json数据

时间:2014-01-15 21:54:34

标签: html json swagger swagger-ui

我认为这是一个关于在网址上显示json文件的简单问题,以便Swagger UI可以识别它。

地址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数据。

1 个答案:

答案 0 :(得分: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文件。如果你想强制下载一个文件,(甚至建议像“my-amazing-file.json”这样的名字),也可以这样做:

How to force file download with PHP