Как записать отдельно значения из массива в json файл?

У меня есть 3 файла:

Песня1.mp3
Песня2.mp3
Песня3.mp3

И я написал вот такой скрипт для получения названий песен и записи их в список:

import glob, os

massiv = []

for file in glob.glob("*.mp3"):
  massiv.append(str(file))
print(massiv)

И он выдаёт вот такой итог:

['Песня1.mp3', 'Песня2.mp3', 'Песня3.mp3']

Как записать названия песен из списка в json-файл вот такого содержания:

[{"title":"Тут название песни1","file":"https://site.com/Тут название песни1"},
{"title":"Тут название песни2","file":"https://site.com/Тут название песни2"},
# и т.д.
]

P.S. Песен будет много (не 3 точно)


Ответы (1 шт):

Автор решения: ioprst

Используйте стандартный модуль json.

import json

arr = ['Песня1.mp3', 'Песня2.mp3', 'Песня3.mp3']

obj = []

for item in arr:
    obj.append({'title': item,
                'file': f'https://site.com/{item}'})

with open('out.json', 'w') as f:
    json.dump(obj, f, indent=2)
→ Ссылка