#!/usr/bin/env python3 # For restructuring files that have keys like "chat.title" # into more useful formats import sys import json from collections import defaultdict with open(sys.argv[1], "r") as f: data = json.load(f) d = defaultdict(str) def create_and_set(dic, key_path, value): if len(key_path) == 1: dic[key_path[0]] = value else: if key_path[0] not in dic: dic[key_path[0]] = {} create_and_set(dic[key_path[0]], key_path[1:], value) for key, value in data.items(): nested_key = key.split(".") create_and_set(d, nested_key, value) with open(sys.argv[1], "w", encoding="utf-8") as f: json.dump(d, f, indent=4, sort_keys=True, ensure_ascii=False)