python TypeError:ndarray类型的对象不可JSON序列化

2024-06-01 08:43:31 发布

您现在位置:Python中文网/ 问答频道 /正文

@app.route('/nodes/resolve', methods=['GET'])
def consensus():
    replaced = blockchain.resolve_conflicts()

    if replaced:
        response = {
            'message': 'Our chain was replaced',
            'new_chain': blockchain.chain
        }
    else:
        response = {
            'message': 'Our chain is authoritative',
            'chain': blockchain.chain
        }

    return jsonify(response), 200

解决冲突功能:

def resolve_conflicts(self):
        neighbours = self.nodes
        new_chain = None
        max_length = len(self.chain)
        for node in neighbours:
            response = requests.get(f'http://{node}/chain')
            if response.status_code == 200:
                length = response.json()['length']
                chain = response.json()['chain']
                if length > max_length and self.valid_chain(chain):
                    max_length = length
                    new_chain = chain
        if new_chain:
            self.chain = new_chain
            return True
        return False

当我跑“卷发”的时候http://localhost:5000/nodes/resolve“在cmd中,但它抛出以下错误:

TypeError:ndarray类型的对象不可JSON序列化


Tags: selfmessagechainnewreturnifresponsedef