Curl &引用;errorMessage";:&引用;JSON中的意外标记$环境\u ID/节点

Curl &引用;errorMessage";:&引用;JSON中的意外标记$环境\u ID/节点,curl,Curl,所以我在这里试图学习Kaleido平台但是 无法为自己尝试自动POC 我已经准备好了所有的变量 echo $CONSORTIUM_ID u0n2ntzvyy echo $ENVIRONMENT_ID u0h47hwa69 echo $MEMBERSHIP_ID u0pe8jgwom 但是当我打电话的时候我得到 curl -X POST -H "$HDR_AUTH" -H "$HDR_CT" -d "{ 'name': 'suppliernode2', 'membership_id': 'u0

所以我在这里试图学习Kaleido平台但是 无法为自己尝试自动POC

我已经准备好了所有的变量

echo $CONSORTIUM_ID
u0n2ntzvyy
echo $ENVIRONMENT_ID
u0h47hwa69
echo $MEMBERSHIP_ID
u0pe8jgwom
但是当我打电话的时候我得到

curl -X POST -H "$HDR_AUTH" -H "$HDR_CT"  -d "{ 'name': 'suppliernode2', 'membership_id': 'u0pe8jgwom' }" "$APIURL/consortia/$CONSORTIUM_ID/environments/$ENVIRONMENT_ID/nodes" | jq

{
  "errorMessage": "Unexpected token in JSON"
}
正如你所看到的,我已经求助于一些事情的硬编码

api文档不清楚从RESTAPI创建节点需要包含哪些字段 谢谢你的帖子

我认为一个重要的澄清是,如果您想将REST调用的主体作为多行JSON传递,那么您需要使用双引号进行转义,然后在主体内对字段和值使用双引号-例如


联合体=$(curl-H“$HDR_AUTH”-H“$HDR_CT”-s“$apirl/consortia?name=api101”| jq-r.[0]。_id”)
curl-H“$HDR_AUTH”-H“$HDR_CT”-s-d”{\
\“名称\”:“示例环境\”\
\“提供者\”:“geth\”\
\“共识类型”:“poa”\
}“$APIRL/consortia/$CONSORTIUM/environments”| jq

但是,如果您喜欢在调用主体中使用单行,那么您应该使用单引号转义,并在调用主体中使用双引号-例如


curl-X POST-d'{“membership_id”:“abcde12345”,“name”:“BANK A node”}'-H“$HDR_AUTH”-H“$HDR_CT”$apirl/consortia/{consortia_id}/environments/{environment_id}/nodes

API 101教程对示例使用多行方法-

了解Kaleido API选择单线演示-