簡體   English   中英

Node.js和Express-從SoundCloud API向前端發送JSON對象使其成為字符串

[英]Node.js and Express - Sending JSON object from SoundCloud API to the front-end makes it a string

我一直在使用http.get()調用SounbdCloud API方法來接收要傳遞給瀏覽器的JSON對象。 我可以確認我收到的數據是一個對象,因為我在數據上調用的typeof()方法會打印出它是一個對象。

var getTracks = http.get("http://api.soundcloud.com/tracks.json?q="+query+"&client_id=CLIENT_ID", function(tracks) {
    tracks.on('data', function (chunk) {
        console.log(typeof(chunk)); // where I determine that I receive an object
        res.send(chunk);
    });
    //console.log(tracks.data);
}).on("error", function(e){
    console.log("Got error: "+e);
});

但是,當我檢查在瀏覽器中發出的AJAX請求中收到的數據時,我發現接收到的數據具有String類型(同樣,我通過調用typeof()知道了這一點)

$('#search').click(function(e){
  e.preventDefault();  
  var q = $("#query").val();
  $.ajax({ 
        url: '/search',
        type: 'POST', 
        data: { 
          "query": q
        }, 
        success: function(data){
          alert(typeof(data));
          alert(data);
        }, 
        error: function(xhr, textStatus, err){
          alert(err);
        }
      })
  });    

我將不勝感激,因為我不知道問題出在哪里,或者我是否在錯誤的位置尋找答案(也許與我對SoundCloud的HTTP API的使用有關)

JSON是一個字符串。 我假設您需要一個代表JSON字符串的對象。
只需使用以下方法。

var obj = JSON.parse(data);


另一個示例是:

var jsonStr = '{"name":"joe","age":"22","isRobot":"false"}';
var jsonObj = JSON.parse(jsonStr);
jsonObj.name //joe
jsonObj.age // 22 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM