val = """
{
    "key1": "val1",
    "key2": ["a","b", 3],
    "key3": {"foo": 27, "bar": [1, 2, 3]}
}
"""
for n in range(100000):
    dict((k, json.dumps(v)) for k, v in list(json.loads(val).items()))
Parse only one level of json