NodeJS JSON.parse转换char!成?

时间:2016-07-18 08:30:43

标签: json node.js http express

我在使用ExpressJS的NodeJS程序中遇到了JSON.parse()的问题。 问题是,当我使用http.get获取外部json时,例如:

[ { "Name" : "Parachutes", "Artist" : "Coldplay"}, { "Name" : "Lost!", "Artist": "Coldplay"  } ]

当我做JSON.parse(ResponseStr)时,我得到以下json

[ { "Name" : "Parachutes", "Artist" : "Coldplay"}, { "Name" : "Lost?", "Artist": "Coldplay"  } ]

炭!正在转变成?当我这样做JSON.parse时,我想拥有与原始名称相同的输出,因为当我想在http.get('/ example.com/album/Lost?')中使用该名称时它会返回给我404错误。

这是我的代码:

function httpget(url,callback)
    {
        var str = "";
        http.get(url, function(resp){
            resp.on('data', function(chunk){
                str += chunk;
            });
            resp.on('end', function(){
                var obj = JSON2.parse(str);
                callback(obj);
            });
        });
    }

编辑1:

我已经使用resp.setEncoding('utf8');在我的代码中,问题出在JSON2.parse()中(与JSON.parse()相同),在此之前我可以执行console.log(str),输出将显示“Lost!”但是当我做JSON.parse()时输出就像这个“丢失?”

0 个答案:

没有答案