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,因为AvailableBal不是直接在里面contentscontents有一个数组,这个数组的第一个对象(索引 0 处的对象)包含具有AvailableBalCurrentBal键的对象。

我不是 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 回答