JSON, выборка, javascript в HTML и неопределенная или пустая строкаJavascript

Форум по Javascript
Ответить
Anonymous
 JSON, выборка, javascript в HTML и неопределенная или пустая строка

Сообщение Anonymous »

Я искал на форуме проблемы, связанные с JSON и функцией выборки. Их много, но мне трудно это понять. Что мне нужно, так это получить URL-адрес "/api", который возвращает:

Код: Выделить всё

{"lux": 0, "pressure": 0.0, "TVOC": 0, "temp": 0.0, "hum": 0.0, "AQI": 0, "eCO2": 0}
Я хочу заполнить поля таблицы HTML этими значениями. Я начал с простой вещи в своем HTML-коде:

Код: Выделить всё

async function get_data() {
await fetch('/api')
.then(resolve => resolve.json())
.then(data => jdata=data);
return jdata;
}

const JD = () => {
fetch('/api')
.then(resolve => resolve.json())
.then(data => jdata=data);
}

//let raw_data='{"lux":0, "pressure":0, "TVOC":0, "temp":0, "hum":0, "AQI":0, "eCO2":0}';
//jdata=JSON.parse(raw_data);
let raw_data=get_data();
jdata=JSON.parse(raw_data);

console.log(raw_data);
console.log(jdata);
console.log(JD);
console.log(jdata.lux);

document.getElementById("dane_temp").innerHTML = jdata.temp; 
Когда я это делаю, я получаю сообщение об ошибке

Неперехваченная синтаксическая ошибка: JSON.parse: неожиданный символ в столбце строки 1 2 строки данных JSON

поэтому я комментирую строку JSON.parse. Проблема в том, что raw_data является объектом promise, и я не могу получить право на присвоение этих данных JSON Переменная jdata.
Обычно у меня возникают проблемы с извлечением этих вложенных объектов во что-то, что я могу проанализировать. Когда я назначаю строку, как в разделе с комментариями, я могу выполнить JSON.parse, и все работает, но тогда raw_data не является объектом, это просто строка. Но с этой асинхронной функцией это то, что находится в raw_data:

Код: Выделить всё

Promise { : "pending" }
​
: "fulfilled"
​
: Object { lux: 0, pressure: 0, TVOC: 0, … }
​
: Promise.prototype { … }
JD получает объект функции, и я не вижу любые данные в нем.
Я просмотрел разные сообщения на этом форуме, и из-за того, что я обычно не программирую на JS, у меня возникли проблемы с пониманием того, как извлечь строку из этого объекта обещания.
Можете ли вы мне с этим помочь?


Подробнее здесь: https://stackoverflow.com/questions/793 ... pty-string
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»