Search code examples
pythonsimplejson

Python simplejson.dumps still returns string


Input : {"id": null, "type": null, "order_for": null, "name": "Name"}

code :

input_map = simplejson.dumps(eval(line))  
print type(input_map)  

returns

<type 'str'>

what is wrong in here?

Thank you


Solution

  • Perhaps you meant:

    print(input_map)  
    

    Also, if you use null in line, eval should have raised a NameError. You could use simplejson.loads instead:

    import simplejson
    line='{"id": null, "type": null, "order_for": null, "name": "Name"}'
    input_map = simplejson.loads(line)  
    print(input_map)  
    # {u'order_for': None, u'type': None, u'id': None, u'name': u'Name'}
    
    print(simplejson.dumps(input_map))
    # {"order_for": null, "type": null, "id": null, "name": "Name"}