我正在尝试制作一个从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();
}
);
答案 0 :(得分:1)
这是你的JSON,
{
"contents": [{
"AvailableBal": "$0.00 CR",
"CurrentBal": "$0.00 CR"
}]
}
您无法直接访问data.contents.AvailableBal
,因为AvailableBal
不在contents
内。 contents
有一个数组
此数组的第一个对象(索引0处的对象)包含具有AvailableBal
和CurrentBal
键的对象。
我不是JavaScript开发人员,但可能会回答这个问题,
var main = new UI.Card({
title: 'Balances',
body: 'Available Balance: ' + data.contents[0].AvailableBal +
'\nCurrent Balance: ' + data.contents[0].CurrentBal
});