Json jq使用-在powershell下提取密钥

Json jq使用-在powershell下提取密钥,json,key,jq,Json,Key,Jq,我在Windows环境中使用JQ1.5修改从AmazonS3接收到的json对象。我有一个有趣的问题。我使用jq提取对象的单个关键点: { "s3_direct_url": "https://fanzo-photos.s3.amazonaws.com/photos/images/034/005/322/screen1.jpg", "url": "https://fanzo-photos.s3.amazonaws.com", "fields": { "key": "photos

我在Windows环境中使用JQ1.5修改从AmazonS3接收到的json对象。我有一个有趣的问题。我使用jq提取对象的单个关键点:

{
  "s3_direct_url": "https://fanzo-photos.s3.amazonaws.com/photos/images/034/005/322/screen1.jpg",
  "url": "https://fanzo-photos.s3.amazonaws.com",
  "fields": {
    "key": "photos/images/034/005/322/screen1.jpg",
    "success_action_status": "200",
    "Content-Type": "image/jpeg",
    "acl": "public-read",
    "policy": "eyJleHBpcmF0aW9uIjoiMjAxOC0xMS0wMlQxMzo0NzoxNVoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmYW56by1waG90b3MifSx7ImtleSI6InBob3Rvcy9pbWFnZXMvMDM0LzAwNS8zMjIvc2NyZWVuMS5qcGcifSx7InN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyI6IjIwMCJ9LHsiQ29udGVudC1UeXBlIjoiaW1hZ2UvanBlZyJ9LHsiYWNsIjoicHVibGljLXJlYWQifSx7IngtYW16LWNyZWRlbnRpYWwiOiJBS0lBSlkzWVRCV1NMQzQ2SFdCQS8yMDE4MTEwMi91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0In0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJ4LWFtei1kYXRlIjoiMjAxODExMDJUMTI0NzE1WiJ9XX0=",
    "x-amz-credential": "AKIAJY3YTBWSLC46HWBA/20181102/us-east-1/s3/aws4_request",
    "x-amz-algorithm": "AWS4-HMAC-SHA256",
    "x-amz-date": "20181102T124715Z",
    "x-amz-signature": "52d8246536e8743fba8e7668cb65a08a1142221d54a58676b6ab14e3835482a3"
  },
  "id": 34005322,
  "media_type": "InputMedia"
}
如果我从“fields”对象中提取信息,但键名中没有“-”,则效果很好。如果我试图提取名称中带有“-”的键,则会出现以下错误:

 jq: error: amz/0 is not defined at <top-level>, line 1:
.fields.x-amz-credential          
jq: error: credential/0 is not defined at <top-level>, line 1:
.fields.x-amz-credential              
jq: 2 compile errors
exit status 3
jq:error:amz/0未在第1行定义:
.fields.x-amz-credential
jq:错误:凭证/0未在第1行定义:
.fields.x-amz-credential
jq:2个编译错误
退出状态3
更新: 在FAQ和“我重新生成jq命令并在jqplay:字段中测试它”的提示之后。“内容类型”按预期工作。在powershell下,该变体不工作,因为powershell不例外引用

.\jq .fields."Content-Type" jq: error: Type/0 is not defined at <top-level>, line 1: .fields.Content-Type jq: 1 compile error
\jq.fields。第1行未定义“内容类型”jq:error:Type/0:.fields.Content-Type jq:1编译错误
溴 蒂莫

有什么建议吗

是!如果在onine jq手册中找不到答案,请检查jq: