import json

# Чтение данных из файла
with open('regions_data.json', 'r', encoding='utf-8') as infile:
    data = json.load(infile)

# Функция для заполнения пустых полей
def fill_missing_data(region):
    fields = ["population", "square", "additionalInfo"]
    for field in fields:
        if field not in region or region[field] in [None, ""]:
            region[field] = ""  # Заполняем пустым значением
    return region

# Обработка данных регионов
data['regions'] = [fill_missing_data(region) for region in data['regions']]
data['regions'].sort(key=lambda x: x['id'])  # Сортировка регионов по id

# Обработка данных городов
data['cities'] = [fill_missing_data(city) for city in data.get('cities', [])]
data['cities'].sort(key=lambda x: x['id'])  # Сортировка городов по id

# Запись обновленных данных в файл
with open('sorted_regions_data.json', 'w', encoding='utf-8') as outfile:
    json.dump(data, outfile, ensure_ascii=False, indent=2)

print("Обработка завершена. Данные отсортированы и записаны в sorted_regions_data.json")
