bash - 使用 cURL 编辑要点:“解析 JSON 的问题”,
问题描述
#!/bin/bash
curl -v \
--request PATCH \
--data "$(
printf '{"files": {"somefile.json": {"content": " {"field": "value"} "}}}' \
)" \
--user x:x \
https://api.github.com/gists/x
尝试添加 --header "Content-Type: application/json",没有运气。
我使用它是因为内容实际上是命令输出,但现在我正在测试基础知识,因为这不是工作。
我相信这与 bash 中的双引号转义有关,尝试了几个小时但没有运气。这是一场噩梦。
欢迎任何提示。谢谢。
解决方案
看起来你的引号太多了。如果您希望“内容”元素的值是一个对象,那么不要这样:
"content": " {"field": "value"} "
尝试这个:
"content": {"field": "value"}
如果你希望它是一个字符串,那么试试这个:
"content": " {\"field\": \"value\"} "
推荐阅读
- c++ - 为什么我的 Visual Studio 找不到定义?
- php - Composer 获取安装进度输出
- c# - 从 tfs 取回解决方案
- c# - 在 Unity3d 运行时禁用/启用 ARKit - C#
- python - 正则表达式最后删除不必要的字符串
- android - 由于空格 android,AWS S3 预签名 url 导致 SignatureDoesNotMatch 错误
- sql - SQL查询按最大日期分组
- windows - Windows 10 powershell ise 压缩归档文件在根 .in .zip
- python - 如何优雅地做出自定义断言错误?
- delphi - Delphi 应用程序在 Windows 10 系统上检索不正确的日期格式