attributeRor:“str”对象没有属性“loads”,json.loads()

2024-09-27 04:25:34 发布

您现在位置:Python中文网/ 问答频道 /正文

片段

    import json
    teststr = '{"user": { "user_id": 2131, "name": "John", "gender": 0,  "thumb_url": "sd", "money": 23, "cash": 2, "material": 5}}'
    json = json.load(teststr)

引发异常

Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: 'str' object has no attribute 'loads'

如何解决问题?


Tags: nameimportidjsonurlloadcashsd
1条回答
网友
1楼 · 发布于 2024-09-27 04:25:34

^{}接受一个文件指针,然后传入一个字符串。您可能打算使用^{},它将字符串作为第一个参数。

其次,当你import json时,你应该注意不要覆盖它,除非它完全是有意的:json = json.load(teststr)<;--Bad。 这将覆盖您刚刚导入的模块,对该模块进行任何未来调用实际上是对创建的dict的函数调用。

要解决此问题,可以在加载后使用另一个变量:

import json
teststr = '{"user": { "user_id": 2131, "name": "John", "gender": 0,  "thumb_url": "sd", "money": 23, "cash": 2, "material": 5}}'
json_obj = json.loads(teststr)

您可以更改要导入的模块名

import json as JSON
teststr = '{"user": { "user_id": 2131, "name": "John", "gender": 0,  "thumb_url": "sd", "money": 23, "cash": 2, "material": 5}}'
json = JSON.loads(teststr)

您可以从模块中特别导入要使用的函数

from json import loads
teststr = '{"user": { "user_id": 2131, "name": "John", "gender": 0,  "thumb_url": "sd", "money": 23, "cash": 2, "material": 5}}'
json = loads(teststr)

相关问题 更多 >

    热门问题