>

일부 cryptocurrencies를 표시하는 웹 사이트를 개발 중입니다. 약간  이 중 Coinmarkepcap API에서 가져옵니다 ( https://api.coinmarketcap.com/v1/ticker/)

사용중인 nodeJS 코드는 다음과 같습니다.

var https = require('https'); 
var optionsget = {
    host : 'api.coinmarketcap.com', 
    port : 443,
    path : '/v1/ticker/bitcoin', 
    method : 'GET'
};
var reqGet = https.request(optionsget, function(res) {
    res.on('data', function(d) {
        info = JSON.parse(d);
        console.log(info);
    });
});
reqGet.end();
reqGet.on('error', function(e) {
    console.error(e);
});

API는 다음 데이터를 반환합니다.

[
    {
        "id": "bitcoin", 
        "name": "Bitcoin", 
        "symbol": "BTC", 
        "rank": "1", 
        "price_usd": "2256.82", 
        "price_btc": "1.0",  
        ... 
        "last_updated": "1496168353"
    }, 
    {
        "id": "ethereum", 
        "name": "Ethereum", 
        "symbol": "ETH", 
        "rank": "2", 
        "price_usd": "204.307", 
        "price_btc": "0.0902657", 
        ... 
        "last_updated": "1496168366"
    },

다음 오류가 발생합니다 :

SyntaxError: Unexpected token < in JSON at position 0

API의 결과가 JSON 안에 대괄호 []를 사용하고 있음을 알았습니다.

각 코인의 이름, 가격, 아이디 등을 검색 할 수 있도록 JSON 배열을 구문 분석하려면 어떻게해야합니까?

  • 답변 # 1

    다음을 교체해야합니다 :

    var optionsget = {
        host : 'api.coinmarketcap.com', 
        port : 443,
        path : '/v1/ticker/bitcoin', 
        method : 'GET'
    };
    
    

    기준 :

    var optionsget = {
        host : 'api.coinmarketcap.com', 
        port : 443,
        path : '/v1/ticker/bitcoin/', 
        method : 'GET'
    };
    
    

    후행 슬래시를 포함하지 않으면 웹 사이트에서 후행 슬래시가있는 URL로 리디렉션하고 https.request는 리디렉션을 투명하게 처리하지 않습니다.

    콜백에서 HTTP 상태 코드를 확인해야합니다 (문서 확인) :

    var reqGet = https.request(optionsget, function(res) {
        res.on('data', function(d) {
            if(res.statusCode == 200) {
                info = JSON.parse(d);
                console.log(info);
            } else {
                /* Do something else */
                console.log("!", res.statusCode);
            }
        });
    });
    
    

  • 이전 R 또는 Excel에서 파형 분석을 어떻게 수행합니까?
  • 다음 scripting - Spotfire에서 IronPython을 사용하여 표현식 저장 및 호출