Hyperledger fabric Hyperledger结构:对等链码调用:将JSON对象传递给链码函数?

Hyperledger fabric Hyperledger结构:对等链码调用:将JSON对象传递给链码函数?,hyperledger-fabric,Hyperledger Fabric,我能够通过对等链码调用调用链码功能,如下所示: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":["one", "two"]}` 但我想将javascript对象作为参数传递,如下所示: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"init

我能够通过对等链码调用调用链码功能,如下所示:

`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":["one", "two"]}`
但我想将javascript对象作为参数传递,如下所示:

`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":[ {property1:"one"}, {property2:"two"}]}`  
但此操作失败,因为查找对象键字符串开头的字符“p”无效。我尝试过其他几种排列,但都没有成功

文档中提到了-c as:
-c、 --JSON格式的链码的ctor字符串构造函数消息(默认值“{}”)

可以告诉一个正确的语法来传递对象

编辑1: 为了完整起见,请遵循以下步骤

peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args": [{"property1":"one", "property2":"two"} ]}'

返回错误:Chaincode参数错误:json:无法将数组解组到Go struct字段strArgs.Args中,类型为string

我认为您可能使用了invoke命令的旧格式,因此我建议使用如下新格式,包括字符串化的json对象:

peer-chaincode-invoke-o localhost:7050-C mychannel-n pmc-C'{“Args”:[“initLedger”、“{\“property1\”:“one\”、““property2\”:“two\”}]}

但如果您需要使用您的格式,那么可能:

peer-chaincode-invoke-o localhost:7050-C mychannel-n pmc-C'{“函数”:“initLedger”,“Args”:[“{\”property1\”:“one\”,“property2\”:“two\”}]}