在没有checkout的情况下在git repo中读取JSON文件

时间:2015-09-09 01:26:16

标签: ruby json git github

我有以下方法:

findobj

我想用它来返回位于git repo def getEndpointContent(url) return JSON.parse(open(url).read) end 中的json文件的内容,检查存储库。

但是,如果我为without参数传入https://github.com/MyRep/myFile.json,则会收到以下错误:

url

我试图做的是什么,如果是的话,怎么样?

2 个答案:

答案 0 :(得分:2)

您无法使用该网址访问该文件。

GitHub使用其他域提供原始文件访问权限,但您尚未包含您的用户名或组织名称。还要记住,Git存储库不仅仅是一个目录;您还必须提供分支名称或提交哈希或类似的东西,以告诉GitHub您想要查看的文件版本。

这样的事情应该有效:

https://raw.githubusercontent.com/MyUser/MyRepo/master/myFile.json

您可以通过在GitHub UI中浏览文件的原始链接,然后点击" Raw"链接在文件的标题中。

答案 1 :(得分:0)

Ruby并不信任Github SSL证书,因为它对于您的Ruby版本和/或您的操作系统来说太新了。

从命令行尝试以下内容(假设是linux / OSX):

wget http://curl.haxx.se/ca/cacert.pem

现在在您的Ruby代码中:

ENV['SSL_CERT_FILE'] = "/path/to/your/download/cacert.pem" # where you downloaded file to
require 'open-uri'  # ensure this is after the above line.

def getEndpointContent(url)
    return JSON.parse(open(url).read)
end
相关问题