将数组数据传递给 hyperledger fabric 中的链码

Pass array data to chaincode in hyperledger fabric

我修改了 fabcar 示例来存储我自己的数据。我必须将 json 数据保存到块中。一些对象属性是字符串和数组。但是我无法将数组传递给链代码。

这是我的json数据

{
key : '5e57b8dbb9b30e3575f45d75',
Thp_stRpPmp: '0',
Thp_stSprPmp: '0',
Thp_stArrFans: [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0],
Thp_bSpry: 'false',
}

我在尝试提交交易时遇到了这样的错误。

error inside await Error: Transaction arguments must be strings:     

如何解决?

如错误所述,参数只能是字符串。

您可以将您的参数编组为字符串并在您的链代码中解组它们。

在处理复杂数据时,我通常只发送一个 JSON 编组的字符串,我在我的链代码中解组。 un/marshaling 流程会降低性能,但如果与您的程序模型适当匹配,您会在可维护性方面获胜。