composer rest服务器中出现无效的JSON数据错误



我是超级账本的新手。当我发布请求时,composer rest服务器中出现错误。我把这个放在请求中

{
"$class": "org.example.biznet.SampleAsset",
"assetId": "string",
"owner": {},
"value": "string"
}

我的cto文件是命名空间org.example.biznet

participant SampleParticipant identified by participantId {
o String participantId
o String firstName
o String lastName
}
asset SampleAsset identified by assetId {
o String assetId
--> SampleParticipant owner
o String value
}
transaction SampleTransaction {
--> SampleAsset asset
o String newValue
}
event SampleEvent {
--> SampleAsset asset
o String oldValue
o String newValue
}

看起来您使用的是示例JSON,但不幸的是它出现了错误。

SampleAsset中的owner属性是一个关系,但它只需要表示为字符串。在发布请求中,您可以只指定所有者的ID,例如"owner" : "7465",,也可以指定整个关系字符串"owner" : "resource:org.example.biznet.SampleParticipant#7465",

注意:无论您在所有者字段中输入什么,Composer都不会检查或解决关系。

只是简单的@ajay Singh

您必须将"所有者"密钥字段中的{}替换为resource:org.example.biznet.SampleParticipant#participantId

每次如果您在任何资产(如--> SampleParticipant owner(中提供关系,那么您都需要提供如上所述的关系所有者。

现在,试着理解resource:org.example.biznet.SampleParticipant#participantId

org.example.biznet->它是cto文件的名称空间。

SampleParticipant->您的cto文件可能有多种类型的参与者。在您的情况下,只有一种类型的参与者是SampleParticipant。

'#'->必须在参与者类型和参与者id之间添加#。

participantId->您指定创建SampleParticipant的时间的唯一id。

简单地说,这一切都描述了资产ID为001的SampleAsset由参与者ID为01的SampleParticipant所有。

相关内容

  • 没有找到相关文章

最新更新