我有一个 json 文件,其结构如下所示:
{
url: "https://mysite.com/myjsonfile",
version_number: 69,
}
Run Code Online (Sandbox Code Playgroud)
此 json 文件可从 mysite.com/myrootjsonfile 访问
我想运行加载数据脚本来访问 mysite.com/myrootjsonfile 并使用curl 从 url 字段加载 json 内容,并将结果内容保存到本地存储。
这是我迄今为止的尝试。
curl -o assets/content.json 'https://mysite.com/myrootjsonfile' | grep -Po '(?<="url": ")[^"]*'
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不是保存 mysite.com/myjsonfile 中的内容,而是保存上面的内容:mysite.com/myrootjsonfile。谁能指出我可能做错了什么?请记住,在全新的卷曲中。谢谢!
它正在保存内容,myrootjsonfile因为这就是您要执行的curl操作 - 将该文件保存到位置assets/content.json,然后greping stdin,它是空的。您需要使用两个curl命令,一个用于下载根文件(并处理它以查找第二个文件的 URL),第二个用于下载您想要的实际内容。您可以为此使用命令替换:
my_url=$(curl https://mysite.com/myrootjsonfile | grep -Po '(?<=url: )[^,]*')
curl -o assets/content.json "$my_url"
Run Code Online (Sandbox Code Playgroud)
我还更改了正则grep表达式 - 该正则表达式匹配“url:”后面的一串非逗号字符。
| 归档时间: |
|
| 查看次数: |
20409 次 |
| 最近记录: |