mikdoe
Moderator
probier mal das hier: javascript - missing quotation marks on keys in JSON - Stack Overflow
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
ich weiß bei dir immer nicht, was du da treibst.
das json aus deinem 1. beitrag hat [ und ], da dürfte diese meldung nicht kommen.
ja und weiter?
ist das jetzt damit gelöst?
am besten ist immer, wenn man fragen stellt denn keiner hat hier eine glaskugel.
[{G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:35.556", C_SENSOR:"Gas", C_VALUE:"93", C_TIMESTAMP:"2017-01-25 19:33:34.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:42.557", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:41.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:49.558", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:48.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:33:56.559", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:33:56.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:04.56", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:34:03.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:11.56", C_SENSOR:"Gas", C_VALUE:"92", C_TIMESTAMP:"2017-01-25 19:34:10.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:18.561", C_SENSOR:"Gas", C_VALUE:"91", C_TIMESTAMP:"2017-01-25 19:34:17.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-25 19:34:25.563", C_SENSOR:"Gas", C_VALUE:"91", C_TIMESTAMP:"2017-01-25 19:34:24.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-26 15:12:52.674", C_SENSOR:"Gas", C_VALUE:"141", C_TIMESTAMP:"2017-01-26 15:12:51.0"}, {G_DEVICE:"9e19cc56-ca02-40cf-8132-7afea4450015", G_CREATED:"2017-01-26 15:13:12.679", C_SENSOR:"Gas", C_VALUE:"133", C_TIMESTAMP:"2017-01-26 15:13:11.0"}]
von vorne fange ich aber nicht an. dafür kannste dir nen anderen suchen. du hast jetzt so viele hinweise bekommen und zu keinem einzigen gezeigt, was du versucht hast.Das stimmt leider.
Die Frage ist immernoch wie aus dem folgenden String-Array das letzte C_Value (133) auswählen kann:
Weise dieses String-Array einer Variable zu und greife wie bei einem Array darauf zu, oder verstehe ich da was falsch?Die Frage ist immernoch wie aus dem folgenden String-Array das letzte C_Value (133) auswählen kann:
<!DOCTYPE html>
<html lang="de">
<head>
<title>String_Array</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
</style>
<script>
var stringArray = [{
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:33:35.556",
C_SENSOR: "Gas",
C_VALUE: "93",
C_TIMESTAMP: "2017-01-25 19:33:34.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:33:42.557",
C_SENSOR: "Gas",
C_VALUE: "92",
C_TIMESTAMP: "2017-01-25 19:33:41.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:33:49.558",
C_SENSOR: "Gas",
C_VALUE: "92",
C_TIMESTAMP: "2017-01-25 19:33:48.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:33:56.559",
C_SENSOR: "Gas",
C_VALUE: "92",
C_TIMESTAMP: "2017-01-25 19:33:56.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:34:04.56",
C_SENSOR: "Gas",
C_VALUE: "92",
C_TIMESTAMP: "2017-01-25 19:34:03.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:34:11.56",
C_SENSOR: "Gas",
C_VALUE: "92",
C_TIMESTAMP: "2017-01-25 19:34:10.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:34:18.561",
C_SENSOR: "Gas",
C_VALUE: "91",
C_TIMESTAMP: "2017-01-25 19:34:17.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-25 19:34:25.563",
C_SENSOR: "Gas",
C_VALUE: "91",
C_TIMESTAMP: "2017-01-25 19:34:24.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-26 15:12:52.674",
C_SENSOR: "Gas",
C_VALUE: "141",
C_TIMESTAMP: "2017-01-26 15:12:51.0"
}, {
G_DEVICE: "9e19cc56-ca02-40cf-8132-7afea4450015",
G_CREATED: "2017-01-26 15:13:12.679",
C_SENSOR: "Gas",
C_VALUE: "133",
C_TIMESTAMP: "2017-01-26 15:13:11.0"
}];
function displayStringArray() {
console.log('String array: ', stringArray);
}
function displayStringArrayLength() {
console.log('String array lenght: ', stringArray.length);
}
function displayStringArrayLastObject() {
console.log('String array last object: ', stringArray[stringArray.length - 1]);
}
function displayStringArrayLastObjectC_Value() {
console.log('String array last object C_VALUE: ', stringArray[stringArray.length - 1].C_VALUE);
}
</script>
</head>
<body>
<div id="calculator">
<input type="button" value="console.log string array" onclick="displayStringArray();" />
<br />
<br />
<input type="button" value="console.log string array length" onclick="displayStringArrayLength();" />
<br />
<br />
<input type="button" value="console.log string array last object" onclick="displayStringArrayLastObject();" />
<br />
<br />
<input type="button" value="console.log string array last object C_VALUE" onclick="displayStringArrayLastObjectC_Value();" />
<br />
<br />
</div>
</body>
</html>
eval
aber er zeigt leider nicht, was er mit welchem Code versucht hat. Leider stellt er dazu aber auch keine Frage die man beantworten könnte, um weiter zu kommen.[
liegt oder an den fehlenden Quotes für die Keys oder beides. Eigentlich weiß man gar nichts, was er aber auch nicht zu ändern versucht C_Value
, in dem gezeitgten String-Array steht als Definition aber immer C_VALUE
Wenn du den Inputs aus der Datenbank zu 100% trauen kannst, funktioniert dieser gute alte Ersatz für die JSON-Funktionen
eval
hatte ich bereits vorgeschlagen siehe #21 ff.mini, das Zeugs kommt ja invalid aus seiner Datenbank was er aber DBseitig nicht ändern kann. Daher mein Vorschlag miteval
aber er zeigt leider nicht, was er mit welchem Code versucht hat. Leider stellt er dazu aber auch keine Frage die man beantworten könnte, um weiter zu kommen.
Und ebenfalls leider weiß man auch nicht, ob das jetzt am[
liegt oder an den fehlenden Quotes für die Keys oder beides. Eigentlich weiß man gar nichts, was er aber auch nicht zu ändern versucht![]()
nicht uns sondern dir! Dreh mal deine gedanken richtig rum. wir verbringen unsere zeit hier nicht, weil wir nichts anderes zu tun hätten!!Ich weiß nur nicht was ich hochladen soll, was euch bzw. dir helfen würde?
Ist das eine Funktion in deinem JavaScript oder wie/wo/was?Das Objekt wird von einer Funktion befüllt. Diese holt immer die letzten 10 Nachrichten von einer Datenbank und speichert diese in dem Objekt.
Ist das jenes, welches du in deiner Meinung nach in deinem ersten Beitrag gezeigt hast?Das Objekt heißt oData.
Wo und wie passiert das? Code zeigen?Der String wird von einer Datenbank abgeholt und wird so in ein Objekt übergeben.
Auch hier: Wo und wie passiert das? Code zeigen?Also das im ersten mit den zehn Nachrichten bekomme ich nur wenn ich das objekt in ein String-Array umwandle und ausgebe.
Gibst du was wo aus? Code zeigen?Gebe ich nur das Objekt aus kommt : objekt objekt objekt objekt
Deswegen ist mehr Code. oder ein reduziertes Beispiel wie in meinem Beitrag, oder sogar eine Testseite die online verfügbar ist SEHR hilfreich.Ich glaube ich habe das Problem falsch beschrieben, bzw. es ist irgend etwas andres falsch das ich selber nicht ganz verstehe.
Und genau diesen Teil verweigerst du zu zeigen? Warum?Den Teil kann ich auf jedenfall verwenden sobald ich es schaffe die Nachrichten in ein Array zu schieben, aber das klappt nicht.
Wie/wo/wann genau wendest duIch bekomme die 10 Nachrichten nur angezeigt wenn ich mir das übergebene Objekt mit: Objekt.toSource() eingebe.
Objekt.toSource()
denn an? Und vor allem weshalb wendest du das an?Bezüglich JSON-String dürfte jedem Lser der es bis hier her geschafft hat klar geworden sein, das du KEIN VALIDES JSON übergeben bekommst.Laut des Codes, sollten die Nachrichten in einem JSON-String übergeben werden. Der JSON-String ist in einem Objekt mit dem Namen oData enthalten.
Hier ist dein Denkfehler bzw. deine falsche Ausdrucksweise! Ein Objekt kannst du genauso gut in JavaScript verarbeiten wie ein Array. Wenn du jetzt aber ein Objekt als String hast (was du bermutlich meinst), dann must du es mit JavaScript parsen damit daraus ein echtes Objedkt wird und danach kannst du es in ein Array wandeln/packen wie auch immer, wobei das wie gesagt bei deinem Fall nonsens ist.Jetzt ist das Problem, dass ich dieses Objekt in ein Array Packen muss um es zu bearbeiten.
Das wissen wir auch nicht (unsere Vermutungen und Erfahrungen jetzt mal aussen vor gelassen), weil wir nicht wissen wie deine erwähnte Funktion das mit den Abfragen der Daten aus der Datenbank und dem anschließendem Zuweisen an irgend eine Variable/Objekt/Array macht. Code zeigen?Ich weiß grad nur nicht wie ich diees Objekt verarbeiten kann bzw ob es wirklich ein JSON-String ist.
Welcher Fehler denn nun schon wieder? Laut deinem Beitrag #24Das Problem ist im moment hauptsächlich, dass ich wenn ich auf das Objekt zugreifen will immer ein Fehler kommt, auch bei dem eval.
ist der Fehler doch behoben !?!?!?Hab grad nochmal geschaut. Also das im ersten mit den zehn Nachrichten bekomme ich nur wenn ich das objekt in ein String-Array umwandle und ausgebe.
Gebe ich nur das Objekt aus kommt : objekt objekt objekt objekt
erste frage: wieso steht da fix 9 drin? du wolltest das letzte haben. ist das immer 9?
zweite frage: wie genau hattest du das hintere denn die ganze zeit geschrieben?