NEWS
Array aus php script holen
-
naja gelöst ist das ganze noch nicht… eventuell muß ich die Überschrift ändern.
die Abfrage klappt jetzt so:
const request = require('request'); const idJSON = "javascript.0.DB_Abfrage.DB_json"; request('http://192.168.1.142/server.php', (err, res, body) => { if (err) { return log(err); } log(body); setState(idJSON, body); var obj = JSON.parse(body, function (key, value) { if (value == "dir" && key != "extrafanart") log(key); }); });allerdings würde ich grn in der json abfrage einen counter mitlaufen lassen so das ich die erhaltenen "key" auch einem state zu ordnen kann.
müsste dann wohl mit einer "for" schleife gemacht oder gibt es einen besseren Weg?
EDIT:
okay, mit counter funtioniert so:
const request = require('request'); const idJSON = "javascript.0.DB_Abfrage.DB_json"; request('http://192.168.1.142/server.php', (err, res, body) => { if (err) { return log(err); } log(body); setState(idJSON, body); var i = 1; var obj = JSON.parse(body, function (key, value) { if (value == "dir" && key !="extrafanart") { log(key); log(i); i=i+1; } }); }); -
Alternativ kannst du auch sowas machen, ist vermutlich eher das was du willst:
const parsed = JSON.parse(body); for (const key of Object.keys(parsed)) { const value = parsed[key]; // was mit den Einträgen machen. In key stehen nacheinander die Schlüssel deines Objekts, in value nacheinander die dazugehörigen Werte, wie "dir", etc... }Oder wenn du (wie es mir scheint), nur die Verzeichnisse außer "extrafanart" willst:
const parsed = JSON.parse(body); const files = Object.keys(parsed) .filter(key => parsed[key] === "dir" && key !== "extrafanart") // Verzeichnisse filtern ; // Hier ist files jetzt ein String-Array mit Inhalt ["1973 - Ring Ring", "1974 - Waterloo", ...] -
das schau ich mir auf jedenfall mal an…
habe jetzt mal ein wenig gespielt...
~~https://i.imgur.com/nCKLNwz.jpg" />die states werden durch das script gefüllt… und wenn man auf den Ordner dückt wird der "Name" an einen state übergeben. dieser soll dann über das script an meine serve.php übergeben werden...
Der teil mit der Übergabe fehlt mir allerdings noch...~~