11

https://raw.github.com/currencybot/open-exchange-rates/master/latest.jsonから提供された通貨データを使用したい

最初のテストとして、これの縮小版をインラインオブジェクトとして作成しました。

var obj = [
{
    "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/",
    "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/",
    "timestamp": 1339036116,
    "base": "USD",
    "rates": {
        "EUR": 0.795767,
        "GBP": 0.645895,
        "JPY": 79.324997,
        "USD": 1
    }
}];

私ができるようにしたいのは、たとえば「EUR」を基準としてjsonオブジェクトをクエリ/ grep /フィルタリングし、結果として「0.795767」の値を持つ「rate」という変数を返すようにすることだけです。

JQueryのgrep関数とfilter関数を見てきましたが、オブジェクトの「レート」セクションだけを分離して、必要なレートを取得する方法がわかりません。

4

3 に答える 3

20
var obj = [
{
    "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/",
    "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/",
    "timestamp": 1339036116,
    "base": "USD",
    "rates": {
        "EUR": 0.795767,
        "GBP": 0.645895,
        "JPY": 79.324997,
        "USD": 1
    }
}];

obj[0].rates.EUR; // output: 0.795767

また

obj[0].rates['EUR']; output: //0.795767

デモ

別の変数でレートを分離してその変数を使用する場合は、次のようにしてみてください。

var rates = obj[0].rates;

今、

rates.EUR;
rates.GBP;

等々。

于 2012-06-07T06:51:52.690 に答える
6

JSON.parse()Javascriptの機能を使用して、JSON文字列をJavascriptJSONオブジェクトに変換することもできます。

var JSONObject = JSON.parse("{'value1' : 1, 'value2' : 2}");
console.log(JSONObject.value1);  // Prints '1'..
于 2012-06-07T07:02:00.737 に答える
0

データにはFRELD6が含まれています。

var reldte;
var sdata = JSON.parse(data);
 $(sdata).each(function () {
        reldte = RefineDate(this.FRELD6.toString());
}
于 2020-11-25T07:42:48.267 に答える