JSON输入的意外结束 - 使用putState()时的Hyperledger Fabric

问题描述 投票:0回答:1
async changeCarOwner(ctx, carNumber, newOwner) {

        const carAsBytes = await ctx.stub.getState(carNumber); 
        if (!carAsBytes || carAsBytes.length === 0) {
            throw new Error(`${carNumber} does not exist`);
        }
        const car = JSON.parse(carAsBytes.toString());
        car.owner = newOwner

        await ctx.stub.putState(carNumber, Buffer.from(JSON.stringify(car)));

    }

}

我一直收到错误:JSON输入意外结束。为什么?我正在尝试使用上面的代码更新couchDb中的现有键值对。

node.js json hyperledger-fabric hyperledger-chaincode
1个回答
1
投票

此错误发生在此行:

const car = JSON.parse(carAsBytes.toString());

这是因为carAsBytes.toString()没有评估格式正确的JSON字符串。您显示的代码似乎很好,但错误来自代码中的其他位置。

调试提示:使用debugger statement在故障线之前检查变量,只需在它之前添加一个console.log(carAsBytes.toString())

© www.soinside.com 2019 - 2024. All rights reserved.