Necroing this: json.loads
works here, too. It doesn’t seem too dirty.
import json
import argparse
test="{"name": "img.png","voids": "#00ff00ff","0": "#ff00ff00","100%": "#f80654ff"}"
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input', type=json.loads)
args = parser.parse_args(['-i', test])
print(args.input)
Returns:
{u'0': u'#ff00ff00', u'100%': u'#f80654ff', u'voids': u'#00ff00ff', u'name': u'img.png'}