未从 JSON 源接收数据

Not receiving data from JSON source

我正在尝试制作一个从 JSON URL.

读取数据的 Pebble 应用

但是,无论我做什么,我似乎都无法让数据出现在应用程序上。

在以下位置输入此代码时:

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

我希望在日志中得到一个有用的结果,但我只得到:

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

并且在模拟器中查看应用程序时,数据应在的两个值,比如 "Undefined"。

我的代码如下。任何帮助都会很棒!

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();
  }
);

这是你的 JSON,

{
    "contents": [{
        "AvailableBal": "[=10=].00 CR",
        "CurrentBal": "[=10=].00 CR"
    }]
}

您不能直接访问 data.contents.AvailableBal,因为 AvailableBal 不直接在 contents 中。 contents 有一个数组 此数组的第一个对象(索引 0 处的对象)包含具有 AvailableBalCurrentBal 键的对象。

我不是 JavaScript 开发人员,但答案可能是这样的,

var main = new UI.Card({
    title: 'Balances',
    body: 'Available Balance: ' + data.contents[0].AvailableBal +
'\nCurrent Balance: ' + data.contents[0].CurrentBal
});