【问题标题】:Multiple word object name in JSON, node-redJSON中的多词对象名称,节点红色
【发布时间】:2020-12-11 17:55:53
【问题描述】:

我在从名称超过 1 个单词的 JSON 对象中解析数据时遇到问题,我必须做些什么才能在另一个节点之前的函数节点中成功调用它。用什么代替星星来让它工作?

感谢每一个答案,谢谢

var array[];
for(var i = 0, i < msg.payload.*Time Series (Daily)*.length, i++){
array = msg.payload.*Time Series (Daily)*.*2020-12-10*.*2. high*
}
return array
{
    "Meta Data": {
        "1. Information": "Daily Time Series with Splits and Dividend Events",
        "2. Symbol": "AAPL",
        "3. Last Refreshed": "2020-12-10",
        "4. Output Size": "Compact",
        "5. Time Zone": "US/Eastern"
    },
    "Time Series (Daily)": {
        "2020-12-10": {
            "1. open": "120.5",
            "2. high": "123.87",
            "3. low": "120.15",
            "4. close": "123.24",
            "5. adjusted close": "123.24",
            "6. volume": "81312170",
            "7. dividend amount": "0.0000",
            "8. split coefficient": "1.0"
        }

【问题讨论】:

    标签: node.js json node-red


    【解决方案1】:

    您可以在方括号内使用字符串文字来访问带有空格、保留字等的属性。这也可以用于赋值。

    const myObject = {
      'a key with spaces': true,
      'return': 'this is a property whose key is the word "return"'
    };
    
    myObject['a new prop'] = 'Hello';
    
    console.log(myObject['a key with spaces'], myObject['return']);
    

    针对您的特定用例:

    array = msg.payload['Time Series (Daily)']['2020-12-10']['2. high']
    

    【讨论】:

    • 这表明2020-12-10 的父属性不存在/未定义。如果你 console.log 父值会发生什么?
    • 您是否还在for 循环的定义中使用方括号符号?
    • 好吧,我解决了,它以某种方式停止发送 JSON 对象而是一个字符串,在删除并再次放置节点后,它再次工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多