Hyperledger fabric 如何将json对象作为args中的参数之一传递给chaincode

Hyperledger fabric 如何将json对象作为args中的参数之一传递给chaincode,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,如何在hyperledger结构中调用时将json对象作为参数之一传递给链码函数参数。 我试过了,结果是[Object,Object]带有存根。getArgs()方法应作为字符串传递(例如,包含json数据的字符串)。从那里,您可以使用json.parse(string)将json对象转换为json,并使用 方法 当您在chaincode中收到一个json字符串作为参数时,请在golang对象中将其反序列化(以下是示例代码) 注意:上面的代码将反序列化匿名json字符串。如果您已经知道您的jso

如何在hyperledger结构中调用时将json对象作为参数之一传递给链码函数参数。
我试过了,结果是[Object,Object]带有存根。getArgs()方法应作为字符串传递(例如,包含json数据的字符串)。从那里,您可以使用
json.parse(string)

将json对象转换为json,并使用 方法

当您在chaincode中收到一个json字符串作为参数时,请在golang对象中将其反序列化(以下是示例代码)


注意:上面的代码将反序列化匿名json字符串。如果您已经知道您的json结构,那么首先通过使用生成相同的json结构,然后将json字符串反序列化为该结构的对象。

如果您使用任何第三方Rest API调用/查询分类账,您可以将该对象转换为base64编码的字符串,并在链码中对其进行解码

1)检查发送的JSON是否有效

2) 您必须将json对象转换为escapejson对象才能作为参数传递

这将有助于将json对象转换为转义/未转义json

未缩放的JSON:

[
{  
    "employee": {  
        "name":       "tom",   
        "salary":      56000,   
        "married":    "toJerry"  
    }  
},
{  
    "employee": {  
        "name":       "hem",   
        "salary":      56000,   
        "married":    "singleForever"
    }  
}
]
[{\"employee\":{\"name\":\"tom\",\"salary\":56000,\"married\":\"toJerry\"}},{\"employee\":{\"name\":\"hem\",\"salary\":56000,\"married\":\"singleForever\"}}]
转义JSON:

[
{  
    "employee": {  
        "name":       "tom",   
        "salary":      56000,   
        "married":    "toJerry"  
    }  
},
{  
    "employee": {  
        "name":       "hem",   
        "salary":      56000,   
        "married":    "singleForever"
    }  
}
]
[{\"employee\":{\"name\":\"tom\",\"salary\":56000,\"married\":\"toJerry\"}},{\"employee\":{\"name\":\"hem\",\"salary\":56000,\"married\":\"singleForever\"}}]
与JSON.stringify(对象)相同