आपके पास लगभग था:
import json
def remove_dot_key(obj):
for key in obj.keys():
new_key = key.replace(".","")
if new_key != key:
obj[new_key] = obj[key]
del obj[key]
return obj
new_json = json.loads(data, object_hook=remove_dot_key)
आप अपने लूप के अंदर एक शब्दकोश लौटा रहे थे, इसलिए आप केवल एक कुंजी को संशोधित करेंगे। और आपको मानों की प्रतिलिपि बनाने की आवश्यकता नहीं है, बस कुंजियों का नाम बदलें।