import json
from collections import OrderedDict

# Open the JSON file and load the data as a list of dictionaries
with open('data.json', 'r') as f:
    data = json.load(f)

# Create an ordered dictionary to store the objects by their order_number
data_dict = OrderedDict()
for obj in data:
    if 'order_number' in obj:
        order_number = obj['order_number']
        if order_number in data_dict:
            data_dict[order_number].append(obj)
        else:
            data_dict[order_number] = [obj]

# Create a new list of dictionaries with the objects ordered by their order_number
data_sorted = []
for order_number, objs in data_dict.items():
    for i, obj in enumerate(objs):
        obj['order_number'] = str(len(data_sorted) + i + 1)
    data_sorted.extend(objs)

# Write the modified list of dictionaries back to the JSON file
with open('question_bank.json', 'w') as f:
    json.dump(data_sorted, f, indent=2)