Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for YAML. More Types by odwl
import re
def yaml(txt):
pairs = [l.split(': ') for l in re.split(r'\n',txt) if ':' in l]
def parse_values(v):
if len(v) != 1 or v[0] == 'null': return None
else: v = v[0]
value = re.sub(r'^"|"$', '', v.strip()).replace('\\','')
if value == "false": value = False
elif value == "true": value = True
elif value.isnumeric(): value = int(value)
return value
return {k.strip(":"): parse_values(v) for k, *v in pairs}
April 24, 2021