Saving lists of object pairs?

I have a long list of object pairs coming from a python script which I am attempting to save/load in the .blend file.

The list has the format [(obj1,obj2), (obj3,obj4), …]. Generating is just fine, but after saving and reloading the blend file the list is populated like this:

[(<bpy_struct, Object invalid>, <bpy_struct, Object invalid>), (<bpy_struct, Object invalid>, <bpy_struct, Object invalid>), …]

This is clearly due to having a list of tuples (same result with list of lists), because if I just have a single list with objects (e.g. [obj1,obj2,obj3,…], this is correct when the .blend file is loaded.

I see the same behavior if I undo (Ctl-Z) after creating the list of tuples. Is there a work around for dealing with lists of lists or lists of tuples?

Use the dictionary for the couple. The key is the first name of the value of the name of its pair"{‘cube001’: ‘cube002’}". Save this dictionary in the file

Use the dictionary for the couple. The key is the first name of the value of the name of its pair"{‘cube001’: ‘cube002’}". Save this dictionary in json file