首页 > 解决方案 > 如何在 JS 变量中转义冒号?

问题描述

我认为这是问题所在

我在这里有这部分,我认为这是问题所在。解析 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+ '.');

        }})}});

标签: javascriptnode.js

解决方案


对于具有某些在标识符中无效的字符的对象键,您需要使用括号表示法而不是点表示法来访问它们。

例如:data['00:00:00'].temperature


推荐阅读