NEWS
require(....path_to_json)-Frage
-
Hallo
Ich muss über require ein JSON laden, nur wie ist der Pfad definiert?
Ich dachte require('googleservices.json') würde im Pfad /opt/iobroker/node_modules/iobroker.javascript/node_modules das googleservices.json suchen.Das heisst, wenn ich googleservices.json in /opt/iobroker/iobroker-data habe, müsste ich:
const key = require('../../../iobroker-data/googleservices.json');eingeben, oder?
Danke!
-
Hallo
Ich muss über require ein JSON laden, nur wie ist der Pfad definiert?
Ich dachte require('googleservices.json') würde im Pfad /opt/iobroker/node_modules/iobroker.javascript/node_modules das googleservices.json suchen.Das heisst, wenn ich googleservices.json in /opt/iobroker/iobroker-data habe, müsste ich:
const key = require('../../../iobroker-data/googleservices.json');eingeben, oder?
Danke!
@dominic-reber
Mit require() werden Node-Module geladen, nicht eine Datei eingelesen. -
@dominic-reber
Mit require() werden Node-Module geladen, nicht eine Datei eingelesen.@paul53
Hi, danke für Deine Antwort.
Hab den Code von hier:Also von Google selbst - wieso lösen die das über require dort?
Ich kann die Daten auch im Skript direkt eingeben, das geht, aber würde sie lieber von einer Datei laden. -
@dominic-reber
Mit require() werden Node-Module geladen, nicht eine Datei eingelesen.@paul53 Das JSON gültiges JavaScript ist, geht das tatsächlich. Machen wir beispielsweise in React Adaptern auch so um die Übersetzungen zu laden.
@dominic-reber sagte in require(....path_to_json)-Frage:
Ich kann die Daten auch im Skript direkt eingeben, das geht, aber würde sie lieber von einer Datei laden.
Das ist aus meiner Sicht die beste Lösung, weil Dateien im Dateisystem sind immer etwas ein Risiko mit ioBroker. Ansonsten kannst du auch die Datei in ioBroker hochladen und mit den getFile() den Inhalt holen, und dann per JSON.parse() in ein JSON verwandeln.
-
Hallo
Ich muss über require ein JSON laden, nur wie ist der Pfad definiert?
Ich dachte require('googleservices.json') würde im Pfad /opt/iobroker/node_modules/iobroker.javascript/node_modules das googleservices.json suchen.Das heisst, wenn ich googleservices.json in /opt/iobroker/iobroker-data habe, müsste ich:
const key = require('../../../iobroker-data/googleservices.json');eingeben, oder?
Danke!
@dominic-reber: eingeben, oder?
Ich lese ein eigenes Node-Modul, das in iobroker-data/modules gespeichert ist, so ein:
const clock = require('../iobroker-data/modules/test.js');Das war früher mal anders: So wie Du es machen wolltest.
-
@paul53 Das JSON gültiges JavaScript ist, geht das tatsächlich. Machen wir beispielsweise in React Adaptern auch so um die Übersetzungen zu laden.
@dominic-reber sagte in require(....path_to_json)-Frage:
Ich kann die Daten auch im Skript direkt eingeben, das geht, aber würde sie lieber von einer Datei laden.
Das ist aus meiner Sicht die beste Lösung, weil Dateien im Dateisystem sind immer etwas ein Risiko mit ioBroker. Ansonsten kannst du auch die Datei in ioBroker hochladen und mit den getFile() den Inhalt holen, und dann per JSON.parse() in ein JSON verwandeln.
@unclesam Danke für die Antwort, dann schreib ichs direkt ins skript rein.