У меня проблема с анализом данных из объекта JSON, имя которого содержит более 1 слова, что мне нужно сделать, чтобы успешно вызвать его в функциональном узле прямо перед другим узлом. Что использовать вместо звезд, чтобы заставить его работать?
каждый ответ ценен, спасибо
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"
}
Вы можете использовать строковый литерал в квадратных скобках для доступа к свойствам с пробелами, зарезервированными словами и т. д. Это также можно использовать для присваивания.
const myObject = {
'a key with spaces': true,
'return': 'this is a property whose key is the word "return"'
};
myObject['a new prop'] = 'Hello';
console.info(myObject['a key with spaces'], myObject['return']);
Для вашего конкретного случая использования:
array = msg.payload['Time Series (Daily)']['2020-12-10']['2. high']
Вы также используете обозначение квадратных скобок в определении вашей петли for
?
Ну, я решил это, он каким-то образом перестал отправлять объект JSON, но строку, после удаления и повторного размещения узла, он снова работал
Это будет означать, что родительское свойство
2020-12-10
не существует/не определено. Что произойдет, если выconsole.info
родительское значение?