How can JSON data with null value be converted to a dictionary

后端 未结 2 1988
孤独总比滥情好
孤独总比滥情好 2021-01-03 17:42
{
  \"abc\": null,
  \"def\": 9
}

I have JSON data which looks like this. If not for null (without quotes as a string), I could have used ast

相关标签:
2条回答
  • 2021-01-03 18:19

    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.

    0 讨论(0)
  • 2021-01-03 18:36

    One solution is to use a variable that contains None.

    import json
    null = None
    data = { "test": null }
    json.dumps(data)
    
    0 讨论(0)
提交回复
热议问题