将文件作为字符串传递给Github Gist REST API

Farhan Kathawala |

我正在编写一个脚本,试图通过Github的API发送Gist。所有请求都必须采用以下JSON格式:

{
    "description": "the description for this gist",
    "public": true,
    "files": {
        "file1.txt": {
           "content": "String file contents"
        }
    }
}

我对应该如何设置“内容”字段的格式感到困惑。我正在尝试在“内容”字段中发送代码的文本文件,例如

if(n <= 3)
  n++;
else
  n--;

如果我在所有行后面加上换行符(即“ n ++”;->“ n ++; \ n”)并转义其他字符(例如反斜杠和引号),则可以将文件作为字符串发送,其中JSON如下所示:

{
    "description": "the description for this gist",
    "public": true,
    "files": {
        "file1.txt": {
           "content": "if(n<=3)\nn++;\nelse\nn--;"
        }
    }
}

,但所有缩进都丢失了,要旨最终如下所示:

if(n <= 3)
n++;
else
n--;

如果我将文件作为base64编码的字符串发送,则会收到JSON解析错误。我正在将JSON写入文本文件,并使用curl如下发送请求

curl --user user -X POST -H 'Content-Type application/json' -d @test.txt https://api.github.com/gists

那么,我必须发送哪些选项来发送保留缩进的文本文件的内容?我目前正在用bash编写脚本,但是如果有一种语言具有针对这种情况设计的解析功能,那么我愿意使用它。

有什么方法可以发送文件(保留为缩进状态)作为此JSON对象的字符串文字吗?我是否误解了API?

那个人

看一下你的字符串:

"content": "if(n<=3)\nn++;\nelse\nn--;"

如果缩进,您会在字符串中看到它:

"content": "if(n<=3)\n  n++;\nelse\n  n--;"

由于您编写的代码中存在错误,因此bash脚本会删除缩进。这通常是由于无法引用或使用不正确的while read循环引起的。您的脚本不包括在内,所以我不能说在哪里。

您可以通过使用jq而不是尝试转义自己的数据来避免所有这些错误以及更多错误

$ cat file
if(n <= 3)
  n++;
else
  n--;

$ jq -R -s . file
"if(n <= 3)\n  n++;\nelse\n  n--;\n"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何通过SSH协议克隆Github Gist?

来自分类Dev

Fork Gist将在GitHub上回购

来自分类Dev

用bash将文件上传到Gist

来自分类Dev

将整数列表传递给GET REST API

来自分类Dev

用于创建存储库/ Gist的自动化GitHub API返回200 OK,而不是201 Created

来自分类Dev

Github Gist:新线?

来自分类Dev

REST API插件-使用主体而不是查询字符串作为参数

来自分类Dev

从GitHub Gist加载数据

来自分类Dev

REST API验证查询字符串

来自分类Dev

GitHub Gist API补丁不起作用?

来自分类Dev

github gist和wiki之间的区别

来自分类Dev

Rest Assured API测试-将Json对象作为参数传递给get请求

来自分类Dev

如何将JSON字符串作为查询参数传递给API Gateway

来自分类Dev

将多个参数传递给Rest API-Spring

来自分类Dev

返回多行字符串作为REST API的一部分

来自分类Dev

用于创建存储库/ Gist的自动化GitHub API返回200 OK,而不是201 Created

来自分类Dev

如何将整数列表作为json数据传递给Spring Boot Rest API?

来自分类Dev

如何将文件或目录路径作为REST API参数传递给Fistify端点

来自分类Dev

如何使用API创建GitHub Gist?

来自分类Dev

Github Gist:新线?

来自分类Dev

从GitHub Gist加载数据

来自分类Dev

Rest Assured API测试-将Json对象作为参数传递给get请求

来自分类Dev

WSO2-Api Manager-将Post Body参数作为URL查询字符串传递给Moodle

来自分类Dev

将非Rest转换为Rest API

来自分类Dev

如何将凭证传递给 NiFi rest api

来自分类Dev

在 REST API 中作为请求正文传递的双引号字符串中的空格被新行 (\n) 替换

来自分类Dev

将JSON请求一一传递给REST API

来自分类Dev

Java:将更新的 json 作为输入传递给 post rest api

来自分类Dev

GitHub Gist API 速率限制何时重置?

Related 相关文章

热门标签

归档