[Python] Problema a registar dados no arquivo .json

Oi galera, tenho um programa que tá colocando dados de uma agenda de pessoas dentro de um arquivo .json, o problema é que só aparece a primeira pessoa no arquivo .json, estou usando um “for” pra conseguir percorrer o array todo e inserir… Não sei qual é o problema e não consigo descobrir, irei deixar aqui o código para quem me puder ajudar. Obrigado a todos

Código do “for”:

def teste(pessoas,outputFileName,nomedoficheiro):
	for pessoa in pessoas:
		print("passou")
		agenda = {
			"pessoa": [
				{"id": "1", "nome": pessoa.getNome(), "numero": pessoa.getNumero(), "idade": pessoa.getIdade(), "altura": pessoa.getAltura(), "peso": pessoa.getPeso()}
			]
		}
	with open(nomedoficheiro+'.json', 'w') as f:
		json.dump(agenda, f, indent=4, ensure_ascii=False)

Como o arquivo se encontra quando abro:

image

(Deveria ter outra pessoa por baixo mas com o id 2 e os dados diferentes, só tá colocando a primeira pessoq que encontra no array)

#Como eu queria que estivesse:
image

Pelo que percebi, você está reescrevendo o arquivo, logo, só poderia aparecer as informações de uma das pessoas, especificamente da ultima em questão, para resolver seu problema basta trocar 'w' por 'a', ficará assim:

with open(nomedoficheiro+'.json', 'a') as f:
		json.dump(agenda, f, indent=4, ensure_ascii=False)

Para quebra uma linha, por questão de organização (TOC), basta fazer assim:

with open(nomedoficheiro+'.json', 'a') as f:
    json.dump(agenda, f, indent=4, ensure_ascii=False)
    print('\n', file=f)

Resultado final:
AAA2
OBS.: O id é o mesmo porque não foi recuperado dinamicamente.

Abraço!