我认为这是问题所在
我有这部分,我认为是问题所在。一个函数在解析JSON页面之前(在代码块之前定义了具有私有api密钥的json url),并且需要从“ 00:00:00”部分获取温度
message.channel.send('Weather temperature at 00:00:00 is : ' +data.00:00:00.temperature+ '.');
这是错误
C:\Users\HUM0014\Desktop\serveruptime\serverandweather.js:102
console.log('Weather temperature at 00:00:00 is : ' +data.00:00:00.temperature+ '.');
^^^^
SyntaxError: missing ) after argument list
我的想法是冒号正在破坏它,但是我对JS还是陌生的,所以我不是100%确定
完整的代码是这个
var url = 'JSON URL HERE';
var weathercommand = '/weather';
client.on('message', message => {
if(message.channel.id !== "588541716961951756") return;
if(message.author.bot) return;
if (message.content === weathercommand) {
'use strict';
request.get({
url: url,
json: true,
headers: {'User-Agent': 'request'}
}, (err, res, data) => {
if (err) {
console.log('Error:', err);
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode);
} else {
// data is already parsed as JSON:
console.log(data.location.name);
console.log('Weather temperature at 00:00:00 is : ' +data.00:00:00.temperature+ '.');
//message.channel.send('Weather location is : ' +data.location.name+ '.'); //this works perfectly fine
// message.channel.send('Weather temperature at 00:00:00 is : ' +data.00:00:00.temperature+ '.');
}})}});
答案 0 :(得分:1)
对于具有某些在标识符中无效的字符的对象键,您将需要使用bracket notation而不是dot notation来访问它们。
例如:data['00:00:00'].temperature