Ну, вполне логичное поведение, учитывая, что Вы никак не разделяете запись, а тупо пишете
post_data
в качестве значения и в ключ
'COM-port'
, и в ключ
'TCP'
.
Для того, чтобы разделить запись, следует проверять значение
post_data['type']
, и в зависимости от того, что там, записывать в качестве значения соответствующего ключа в итоговом конфиге.
Что-то аля:
post_data = request.get_json()
if post_data['type'] == 'com':
to_json = {'COM-port': post_data}
elif post_data['type'] == 'tcp':
to_json = {'TCP': post_data}