import json s = r'abc=b\\n;c=\\x61d;d=2234;t=\\n;d=\"test;yes\";' s = s[0:-1] s = s[:s.rindex(';')]+'#'+s[s.rindex(';')+1:] result = {each.split('=')[0]:each.split('=')[1] for each in s.split(';')} result['d'] = result['d'].replace('#',';') print(result) with open('data.json','w',encoding='utf-8') as file: file.write(json.dumps(result))