0

我有一个我认为是关于在网址上显示 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 数据。

4

1 回答 1

1

将此作为您的文件输出:

JSON DATA

:)

你不需要在那里的HTML。只是您的 JSON 数据。您需要使用 PHP 或 .htaccess 文件来提供内容类型标头(必须在向浏览器输出任何内容之前完成!)。我认为 HTML 标头不会按预期工作,因为无论您说什么,页面的内容仍然是 HTML 。无论内容类型如何,实际内容都以 HTML 开头,因此 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”之类的名称),也可以这样做:

如何使用 PHP 强制文件下载

于 2014-01-15T22:02:55.890 回答