【问题标题】:Not receiving data from JSON source未从 JSON 源接收数据
【发布时间】:2016-02-08 08:50:28
【问题描述】:

我正在尝试制作一个从 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();
  }
);

【问题讨论】:

    标签: json cloudpebble pebble-js


    【解决方案1】:

    这是你的 JSON,

    {
        "contents": [{
            "AvailableBal": "$0.00 CR",
            "CurrentBal": "$0.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
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 2021-08-26
      • 2018-08-18
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多