json.load
lấy con trỏ tệp và bạn đang chuyển một chuỗi. Có thể bạn muốn sử dụng json.loads
để lấy một chuỗi làm tham số đầu tiên.
Thứ hai, khi bạn import json
, bạn nên chăm sóc để không ghi đè lên nó, trừ khi nó hoàn toàn có chủ ý: json = json.load(teststr)
< - Bad. Việc này ghi đè mô-đun mà bạn vừa mới nhập, thực hiện bất kỳ lệnh gọi nào trong tương lai cho mô-đun thực sự thực hiện các cuộc gọi đến lệnh dict đã được tạo.
Để sửa lỗi này, bạn có thể sử dụng một biến một lần nạp:
import json
teststr = '{"user": { "user_id": 2131, "name": "John", "gender": 0, "thumb_url": "sd", "money": 23, "cash": 2, "material": 5}}'
jsonstr = json.loads(teststr)
HOẶC bạn có thể thay đổi tên mô-đun bạn đang nhập khẩu
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)
HOẶC bạn có thể đặc biệt nhập khẩu chức năng nào bạn muốn sử dụng từ mô-đun
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)
Bạn có thể cung cấp thêm chi tiết - đây là JS không? Bạn có thể cho liên kết để cắt? –
thử tải thay vì tải –
Thông báo lỗi không khớp với ví dụ của bạn. 'json.loads' không bao giờ được gọi là một phần của đầu vào trực tiếp. Bạn có cơ hội ràng buộc chuỗi dữ liệu JSON với tên 'json' không? – MisterMiyagi