как передать объект JSON в качестве одного из параметров в аргументах в код цепи - PullRequest
0 голосов
/ 01 октября 2018

Как передать объект json как один из параметров в аргументах в код цепочки при вызове из матрицы гиперледжеров.Я попробовал это, и получается [Object, Object] с методом stub.getArgs ()

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

При вызове метода chaincode из NodeSDK, передайте объект json как строку json, используя метод JSON.stringify .

Когда вы получили строку json в качестве параметра в chaincode, удалите ее из памяти.в объекте golang (ниже приведен пример кода)

function, args := helper.Stub.GetFunctionAndParameters()

var jsonObj interface{}

err := json.Unmarshal([]byte(args[0]), &jsonObj)
if err != nil {
   fmt.Println("Can't deserialize", []byte(args[0]))
} 

Примечание. Приведенный выше код десериализует анонимную строку json.Если вы уже знаете свою структуру json, то сначала создайте такую ​​же структуру json, используя golang struct , а затем десериализуйте вашу строку json в объект этой структуры.

0 голосов
/ 02 октября 2018

Если вы используете какие-либо сторонние API-интерфейсы Rest для вызова / запроса главной книги, вы можете преобразовать объект в закодированную строку base64 и декодировать его в коде цепи.

0 голосов
/ 01 октября 2018

Должен передаваться как строка (например, строка, содержащая данные json).Оттуда вы можете конвертировать в json используя JSON.parse(string).

...