0

JSON URL からデータを読み取る Pebble アプリを作成しようとしています。

しかし、私が何をしても、データをアプリに表示させることはできません。

このコードを入力する場合:

console.log(data.contents.AvailableBal);
console.log(data.contents.CurrentBal);

ログに役立つ結果が返されることを期待していますが、取得できるのは次のとおりです。

[PHONE] pebble-app.js:?: None
[PHONE] pebble-app.js:?: None

また、エミュレーターでアプリを表示すると、データが存在するはずの両方の値が「未定義」と表示されます。

私のコードは次のとおりです。どんな助けでも素晴らしいでしょう!

var UI = require('ui');
var ajax = require('ajax');

var splashCard = new UI.Card({
  title: "Please Wait",
  body: "Downloading..."
});
splashCard.show();

ajax(
  {
  url: 'https://djkhaled.xyz/balance.json',
  type: 'json'
  },
function(data) {
  console.log(data.contents.AvailableBal);
  console.log(data.contents.CurrentBal);
var main = new UI.Card({
    title: 'Balances',
    body: 'Available Balance: ' + data.contents.AvailableBal +
'\nCurrent Balance: ' + data.contents.CurrentBal
});
  splashCard.hide();
  main.show();
  }
);
4

1 に答える 1

1

これはあなたの JSON です。

{
    "contents": [{
        "AvailableBal": "$0.00 CR",
        "CurrentBal": "$0.00 CR"
    }]
}

は直接内部にないdata.contents.AvailableBalため、直接アクセスすることはできません。 には配列があり、この配列の最初のオブジェクト (インデックス 0 のオブジェクト) には、とキーを持つオブジェクトが含まれています。AvailableBalcontentscontentsAvailableBalCurrentBal

私は JavaScript 開発者ではありませんが、おそらく答えは次のようになります。

var main = new UI.Card({
    title: 'Balances',
    body: 'Available Balance: ' + data.contents[0].AvailableBal +
'\nCurrent Balance: ' + data.contents[0].CurrentBal
});
于 2016-02-08T09:38:24.190 に答える