import lark
import pprint

class JsonTransformer(lark.Transformer):
    def string(self, el):
        (el,) = el
        return el[1:-1]

    def number(self, el):
        (el, ) = el
        return float(el)


    list = list
    dict = dict
    pair = tuple

    null = lambda self, _: None
    true = lambda self, _: True
    false = lambda self, _: False

json = '{"key": ["item0", "item1", 3.14, true]}'

with open("json.lark") as f:
    json_parser = lark.Lark(f, start="value", parser="lalr", transformer=JsonTransformer())

t = json_parser.parse(json)
print(t)

