Tôi đã cố gắng tìm ra cách tải các đối tượng JSON bằng Python.Python json.loads không hoạt động
def do_POST(self):
length = int(self.headers['Content-Length'])
decData = str(self.rfile.read(length))
print decData, type(decData)
"{'name' : 'journal2'}" <type 'str'>
postData = json.loads(decData)
print postData, type(postData)
#{'name' : 'journal2'} <type 'unicode'>
postData = json.loads(postData)
print postData, type(postData)
# Error: Expecting property name enclosed in double quotes
Tôi sẽ làm gì sai?
Error Code (JScript):
var data = "{'name':'journal2'}";
var http_request = new XMLHttpRequest();
http_request.open("post", url, true);
http_request.setRequestHeader('Content-Type', 'application/json');
http_request.send(data);
Đúng Mã (JScript):
var data = '{"name":"journal2"}';
var http_request = new XMLHttpRequest();
http_request.open("post", url, true);
http_request.setRequestHeader('Content-Type', 'application/json');
http_request.send(JSON.stringify(data));
Đúng Mã (Python):
def do_POST(self):
length = int(self.headers['Content-Length'])
decData = self.rfile.read(length)
postData = json.loads(decData)
postData = json.loads(postData)
điều này không đúng, 'eval (dữ liệu)' có thể nhận được kết quả đúng – WeizhongTu
Đó là sự thật nhưng bạn không nên sử dụng eval() Tôi nghĩ đó là ý tưởng sử dụng mô-đun json. Sử dụng eval được coi là một thực tế xấu, tôi đây là một câu trả lời thú vị về nó http://stackoverflow.com/a/1832957/2289246 –