Tôi đã chơi xung quanh với API youtube và node.js, cho đến nay tôi đã có thể nhận được phản hồi từ API và console.log
nó trên thiết bị đầu cuối .nút js - Tôi đang gặp một số sự cố với JSON.parse()
Khi tôi cố gắng để có được sự hưởng ứng và sử dụng JSON.parse
, tôi nhận được một lỗi lạ:
Got response: 200
undefined:1
http://www.w3.or
^
SyntaxError: Unexpected token u
at Object.parse (native)
at IncomingMessage.<anonymous> (/home/ubuntu/node_temp4/index.js:19:10)
at IncomingMessage.emit (events.js:88:20)
at HTTPParser.onMessageComplete (http.js:137:23)
at Socket.ondata (http.js:1137:24)
at TCP.onread (net.js:354:27)
Đây là kịch bản của tôi:
var http = require("http");
var searchQuery = "cats";
var queryResponse;
var options = {
host: 'gdata.youtube.com',
path: "/feeds/api/videos?q=" + searchQuery + "&max-results=1&v=2&alt=json"
};
http.get(options, function(response) {
console.log("Got response: " + response.statusCode);
response.on('data', function(chunk){
queryResponse += chunk;
});
response.on('end', function(){
JSON.parse(queryResponse);
console.log('end');
});
}).end();
Giá trị của queryResponse trước khi bạn cố gắng phân tích cú pháp đó là gì? – Dogbert
nó in [this] (http://gdata.youtube.com/feeds/api/videos?q=cats&max-results=1&v=2&alt=json) trên thiết bị đầu cuối nếu tôi đăng nhập. CHỈNH SỬA: phiên bản dễ đọc hơn - http://gdata.youtube.com/feeds/api/videos?q=cats&max-results=1&v=2&alt=json&prettyprint=true – user1215653