【发布时间】:2015-01-18 17:19:18
【问题描述】:
我正在尝试解析从对 Tinysong 的查询中获得的响应。我能够获取并拥有它 console.log 但在那之后我无法对数据做任何事情。我认为这是因为我如何捕捉它。完全公开这是我第一次这样做,所以我只是将许多不同的例子混合在一起。
如果您导航到 URL,您会得到如下内容:
{"Url":"http:\/\/tinysong.com\/1kxG6","SongID":41760691,"SongName":"Begin Again","ArtistID":9472,"ArtistName":"Knife Party","AlbumID":9855703,"AlbumName":"Abandon Ship"}
这就是我所拥有的。
function TinySong (A, S){
A = A.replace(/ /g,"+");
S = S.replace(/ /g,"+");
var url = 'http://tinysong.com/b/' + A + "+" + S + '?format=json&' + TinyKey;
http.get(url, function(res){
var bodyChunks = [];
res.on('data', function(chunk) {
bodyChunks.push(chunk);
}).on('end', function() {
var body = Buffer.concat(bodyChunks);
// console.log(url)
console.log('' + body);
})
});
}
此控制台记录如下内容:
{"Url":"http:\/\/tinysong.com\/1ksPa","SongID":40778838,"SongName":"Cut Your Teeth (Kygo remix)","ArtistID":2002910,"ArtistName":"Kyla La Grange","AlbumID":9
833902,"AlbumName":"Cut Your Teeth (Kygo remix)"}
但如果我不使用console.log('' + body); 而我使用console.log(body);
我明白了:
<Buffer 7b 22 55 72 6c 22 3a 22 68 74 74 70 3a 5c 2f 5c 2f 74 69 6e 79 73 6f 6e 67 2e 63 6f 6d 5c 2f 31 6b 73 50 61 22 2c 22 53 6f 6e 67 49 44 22 3a 34 30 37
37 ...>
谁能帮我弄清楚我做错了什么。欢迎所有帮助和教育。
谢谢 软板
【问题讨论】:
标签: javascript json node.js parsing