';str';对象没有属性';获取';-python
我试图从json响应中获取元素,但是我得到了一个错误 “str”对象没有属性“get” 我的代码中可能有什么错误请帮助';str';对象没有属性';获取';-python,python,json,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": "23823addsf33sdfd
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"}
json.dumps
将字典转换为字符串。在应用它之后,您会得到如下结果
data = "\{\"shop_id\": \"23823addsf33sdfdlladioiddf\" ..."
所以,它不再是字典了,它是一个看起来像字典的字符串。这就是为什么你会出错。您可能应该对前一行应用
get
。json.dumps
将字典转换为字符串。在应用它之后,您会得到如下结果
data = "\{\"shop_id\": \"23823addsf33sdfdlladioiddf\" ..."
所以,它不再是字典了,它是一个看起来像字典的字符串。这就是为什么你会出错。您可能应该将
get
应用于前一行。因为您在json.dumps()之后获得str
dataform.get('number')
将起作用因为您在json.dumps()之后获得str
dataform.get('number')
将起作用data=json.dumps(dataform)
创建一个字符串。data=json.dumps(dataform)
创建一个字符串。如何从数据而不是数据表单中获取元素?我想访问jsonelement@MichaelAnaman:不可能知道,取决于对象的结构。可以通过直接将get应用于作业.body
,但只是猜测“这是一个看起来像字典的字符串。”=>实际上,确切地说,它是一个表示dict的JSON版本的字符串。如何从数据而不是数据表单中获取元素?我想访问jsonelement@MichaelAnaman:不可能知道,取决于对象的结构。可以直接将get应用于作业.body
,但只需猜测“这是一个看起来像字典的字符串。”=>实际上,确切地说,它是一个表示dict的JSON版本的字符串。