我在github上有一个存储库,它在存储库的根目录中包含许多csv,json,yml数据文件。
如何使用Github Pages来提供这些文件?
因此,例如:当我转到http://username.github.io/reponame/
后跟
/posts
- 提供 posts.json 文件的内容/users
- 提供 users.json 文件的内容/comments
- 提供 comments.json 文件的内容/posts.csv
- 提供 posts.csv 文件的内容答案 0 :(得分:9)
您只需要在存储库中添加.json
个文件,就可以像普通的JSON API一样访问它们
在以下存储库username.github.io/reponame
中添加以下文件
<强> posts.json 强>
[
{"id": 1, "title": "Title 1"},
{"id": 2, "title": "Title 2"}
]
<强> users.json 强>
[
{"name": "abc", "email": "abc@example.com"},
{"name": "xyz", "email": "xyz@example.com"}
]
<强> comments.json 强>
[
{"post_id": "1", "text": "Comment 1"},
{"post_id": "2", "text": "Comment 2"}
]
<强> posts.csv 强>
id,title
1,Title 1
2,Title 2
使用
访问它们http://username.github.io/reponame/posts.json
强> http://username.github.io/reponame/users.json
强> http://username.github.io/reponame/comments.json
强> http://username.github.io/reponame/posts.csv
强> 答案 1 :(得分:2)
您可以创建index.json
而不是index.html
来获取application/json; charset=utf-8
标题。
即创建:
- posts/index.json
,http://username.github.io/reponame/posts/
,
- users/index.json
,http://username.github.io/reponame/users/
,
等
请注意,作为目录,没有尾部斜杠(http://username.github.io/reponame/posts
)的访问将返回301重定向到具有尾部斜杠的相同路径。也就是说,它可以运行,但是您的客户需要遵循重定向(默认情况下curl
不会,curl --location
会这样做)并且由于额外的往返而略微变慢...
有关工作示例,请参阅https://github.com/cben/sandbox/tree/master/json目录(在https://cben.github.io/sandbox/json/处提供)。
P.S。避免在一个目录中放置多个index.*
和README*
文件;当我在index.json旁边添加一个README.md时,README赢了并在json/
得到了服务,所以我不得不将它重命名为其他东西。
答案 2 :(得分:1)
此类型的网址(例如:/ posts)仅适用于html文件。你可以命名你的json文件 posts.html 并设置它的前面这样的事情:
class MyGraphicsTextItem : public QGraphicsTextItem
{
// ...
protected:
virtual void keyPressEvent(QKeyEvent* e) override
{
if (e->key() != Qt::Key_Return)
{
// let parent implementation handle the event
QGraphicsTextItem::keyPressEvent(e);
}
else
{
// ignore the event and stop its propagation
e->accept();
}
}
};
然后,您将通过 / posts 或 / posts / 访问您的文件。
唯一的缺点是返回的文件是 /posts/index.html ,其中使用的是---
layout: null
permalink: /posts/
---
{ "variable": "value" }
mime类型,而不是预期的Content-Type: text/html
。
答案 3 :(得分:0)
我正在添加有关如何从github使用json的代码块:
function logResults(json) {
console.log(json)
}
$.ajax({
url: "https://raw.githubusercontent.com/cben/sandbox/master/json/index.json",
dataType: "json"
}).done(function(result){
console.log(result);
});
请在jfiddle中查看示例: https://jsfiddle.net/v_alishauskaite/dxm8cvkL/1/