Ich erhalte von WebSocket Material wie folgt aus:Wie analysiere ich diese Daten?
{"sensorValue":{"id":5168,"roadStationId":23401,"name":"OHITUKSET_5MIN_LIUKUVA_SUUNTA2_MS2","oldName":"ohitukset_5min_liukuva_suunta2_MS2","shortName":"MTila2","sensorValue":69,"sensorUnit":"***"}}
{"sensorValue":{"id":5125,"roadStationId":23401,"name":"KESKINOPEUS_5MIN_LIUKUVA_SUUNTA2","oldName":"averageSpeed2","shortName":"km/h2","sensorValue":83,"sensorUnit":"km/h"}}
Was ich tun möchte, ist, die Werte des Namens und der Sensorvalue zu bekommen. Bisher habe ich Code wie folgt:
function connect() {
var url = "ws://...";
var socket = new WebSocket(url);
socket.onopen = function (event) {
console.info('Socket is open');
}
socket.onmessage = function(message) {
addMessage(message);
};
}
function addMessage(message) {
var myJSON = JSON.stringify(message.data);
var obj = JSON.parse(myJSON);
document.getElementById("sensorValue").innerHTML = obj.sensorValue;
}
Nun, was immer ich tue ich diese:
uncaught TypeError: Cannot set property 'innerHTML' of null".
Ich habe versucht, mehrere Web-Tutorials von getElementryById und sie funktionieren gut.
Warum erhalte ich diesen Fehler?
Haben Sie ein Element in Ihrem HTML mit der ID sensorValue? – danielspaniol
Erstens: Der Aufruf von 'JSON.parse' direkt nach' JSON.stringify' ist nicht notwendig. Rufen Sie einfach nicht 'JSON.stringify' an erster Stelle auf. Zweitens bedeutet dieser Fehler, dass das Element mit der ID 'sensorValue' nicht existiert. Stellen Sie sicher, dass es existiert (entweder indem Sie es erstellen oder indem Sie das übergebene Argument korrigieren). Der Fehler hat nichts mit dem * Analysieren * der Daten zu tun (was Sie sowieso nicht tun müssen, wenn Sie nicht serialisieren). –