2017-01-18 6 views
0

Я пытаюсь получить данные из http://api.coindesk.com/v1/bpi/currentprice/usd.json здесь, который выглядит как этотПолучить конкретное значение из JSON с JQuery

{ 
    "time": { 
     "updated": "Jan 18, 2017 02:55:00 UTC", 
     "updatedISO": "2017-01-18T02:55:00+00:00", 
     "updateduk": "Jan 18, 2017 at 02:55 GMT" 
    }, 
    "disclaimer": "This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org", 
    "bpi": { 
     "USD": { 
      "code": "USD", 
      "rate": "888.9525", 
      "description": "United States Dollar", 
      "rate_float": 888.9525 
     } 
    } 
} 

и данных я хочу, чтобы получить только «BPI». «USD» «. rate ", но я не могу это сделать.

$.getJSON("demo_ajax_json.js", function(result){ 
    $.each(result, function(i, field){ 
     $("div").append(field + " "); 
    }); 
}); 

Я пытаюсь поставить его здесь, но у меня проблемы из-за «сложены?». ключи и значения. Может ли кто-нибудь направить меня на правильный путь? Если я правильно понимаю, у меня есть JSON.parse, но до сих пор я не совсем понимаю, что

+0

Что вы получаете в результате? –

+0

Я получил этот '[object Object]. Эти данные были получены из индекса цен на биткойны CoinDesk (USD). Данные валюты, не относящиеся к доллару США, конвертируются с использованием почасового коэффициента конверсии из openexchangerates.org [object Object] '@ A.J – Enkhtuvshin

ответ

2

Как вы получаете корректный объект JavaScript с $.getJSON позвоните, вы можете получить доступ к собственности, которую вы хотите таким образом

data.bpi.USD.rate 

Проверьте приведенный ниже код snippe т

$(document).ready(function() { 
 
    $.getJSON('http://api.coindesk.com/v1/bpi/currentprice/usd.json') 
 
    .success(getCurrentPriceCompleted) 
 
    .error(getCurrentPriceFailed); 
 

 
    function getCurrentPriceCompleted(data) { 
 
    console.log(data.bpi.USD.rate); 
 
    } 
 

 
    function getCurrentPriceFailed(error) { 
 
    console.log(error); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<fieldset> 
 
    <legend>The JavaScript Object (response from server):</legend> 
 
    <code> 
 
    { 
 
    "time":{ 
 
     "updated":"Jan 18, 2017 02:56:00 UTC", 
 
     "updatedISO":"2017-01-18T02:56:00+00:00", 
 
     "updateduk":"Jan 18, 2017 at 02:56 GMT" 
 
    }, 
 
    "disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org", 
 
    "bpi":{ 
 
     "USD":{ 
 
     "code":"USD", 
 
     "rate":"888.7975", 
 
     "description":"United States Dollar", 
 
     "rate_float":888.7975 
 
     } 
 
    } 
 
} 
 
    </code> 
 
</fieldset>

+0

спасибо, что это сработало для меня :) – Enkhtuvshin

1

var data = { 
 
\t "time": { 
 
\t \t "updated": "Jan 18, 2017 02:55:00 UTC", 
 
\t \t "updatedISO": "2017-01-18T02:55:00+00:00", 
 
\t \t "updateduk": "Jan 18, 2017 at 02:55 GMT" 
 
\t }, 
 
\t "disclaimer": "This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org", 
 
\t "bpi": { 
 
\t \t "USD": { 
 
\t \t \t "code": "USD", 
 
\t \t \t "rate": "888.9525", 
 
\t \t \t "description": "United States Dollar", 
 
\t \t \t "rate_float": 888.9525 
 
\t \t } 
 
\t } 
 
}; 
 

 

 
console.log(data.bpi.USD.rate)

использования, как это

Смежные вопросы