'str'对象没有属性'get'-Python

时间:2019-09-24 10:36:28

标签: python json

我正在尝试从json响应中获取元素,但是出现错误

  
    

'str'对象没有属性'get'。

  

我的代码中可能有什么问题,请帮忙

        dataform = json.loads(job.body)
        data = json.dumps(dataform)

        logger.debug(data)
        logger.debug(data.get('number').strip())

我的回复低于

{"shop_id": "23823addsf33sdfdlladioiddf", "user_id": "1", "number": "440239023011"}

2 个答案:

答案 0 :(得分:2)

json.dumps将您的字典转换为字符串。应用后,您将得到

data = "\{\"shop_id\": \"23823addsf33sdfdlladioiddf\" ..."

因此,它不再是字典,而是一个看起来像字典的字符串。这就是为什么您得到错误。您可能应该将get应用于上一行。

答案 1 :(得分:0)

因为您在str之后得到json.dumps()

In [2]: json.dumps({"a": 1})
Out[2]: '{"a": 1}'

dataform.get('number')将起作用