Stack Overflow for Teams is a private, secure spot for you and
your coworkers to find and share information.
Learn more
I have JSON data which looks like this. If not for null (without quotes as a string), I could have used
ast
module's
literal_eval
to convert the above to a dictionary.
A dictionary in Python cannot have
null
as value but can have
"null"
as a value. How do I convert the above to a dictionary that Python recognizes?
You should use the built-in
json
module
, which was designed explicitly for this task:
>>> import json
>>> data = '''
... {
... "abc": null,
... "def": 9
... }
... '''
>>> json.loads(data)
{'def': 9, 'abc': None}
>>> type(json.loads(data))
<class 'dict'>
By the way, you should use this method even if your JSON data contains no null
values. While it may work (sometimes), ast.literal_eval
was designed to evaluate Python code that is represented as a string. It is simply the wrong tool to work with JSON data.
–
–
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.