import collections

some_dict = {
	'default': {
	    'heading': 'Here’s A Title',
	    'learn_more': {
	    	'title': 'Title of Thing',
	        'url': 'www.url.com',
	        'description': 'description',
	        'opens_new_window': 'true'
        }
	}
}

def flatten(d, parent_key='', sep='_'):
    items = []
    for k, v in d.items():
        new_key = parent_key + sep + k if parent_key else k
        if isinstance(v, collections.MutableMapping):
            items.extend(flatten(v, new_key, sep=sep).items())
        else:
            items.append((new_key, v))
    return dict(items)

results = flatten(some_dict, parent_key='', sep='.')
for item in results:
	print(item + ': ' + results[item])