NEWS
Daten aus einem String extrahieren
-
Hi, nach einem Aufruf einer URL bekomme ich einen String zurück, aus dem ich gern einzelne Daten herauslösen würde. In erster Linie geht es mir hier um die GeofenceID [1] (die Zahl die zwischen den eckigen Klammern steht, und idealerweise gegen eine andere Zahl [9999] getauscht wird, falls dort nichts steht []). Aber auch die Werte von "status":"online","lastUpdate":"2020-07-18T13:34:56.142+0000" wären interessant.
Der URL Aufruf ist:
http://admin:passwort@192.168.0.191:8082/api/devices/1?all=trueDas Resultat hiervon ist:
{"id":1,"attributes":{},"groupId":1,"name":"Joerg","uniqueId":"8844937","status":"online","lastUpdate":"2020-07-18T13:34:56.142+0000","positionId":7044,"geofenceIds":[1],"phone":"","model":"","contact":"","category":"person","disabled":false}Wie könnte ich da vorgehen?
Mein Blockly bisher:
-
Hi, nach einem Aufruf einer URL bekomme ich einen String zurück, aus dem ich gern einzelne Daten herauslösen würde. In erster Linie geht es mir hier um die GeofenceID [1] (die Zahl die zwischen den eckigen Klammern steht, und idealerweise gegen eine andere Zahl [9999] getauscht wird, falls dort nichts steht []). Aber auch die Werte von "status":"online","lastUpdate":"2020-07-18T13:34:56.142+0000" wären interessant.
Der URL Aufruf ist:
http://admin:passwort@192.168.0.191:8082/api/devices/1?all=trueDas Resultat hiervon ist:
{"id":1,"attributes":{},"groupId":1,"name":"Joerg","uniqueId":"8844937","status":"online","lastUpdate":"2020-07-18T13:34:56.142+0000","positionId":7044,"geofenceIds":[1],"phone":"","model":"","contact":"","category":"person","disabled":false}Wie könnte ich da vorgehen?
Mein Blockly bisher:
-
Vielen Dank. Das klappt gut so:

-
Beim Aufruf von:
http://192.168.0.191:8082/api/positions/?id=1einen etwas anderen Aufbau der Antwort:
[{"id":1,"attributes":{"batteryLevel":76.0,"distance":0.0,"totalDistance":0.0,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2020-07-14T07:13:11.926+0000","deviceTime":"2020-07-14T07:13:10.000+0000","fixTime":"2020-07-14T07:13:10.000+0000","outdated":false,"valid":true,"latitude":53.554856,"longitude":9.921739,"altitude":34.33077621459961,"speed":0.0,"course":286.171875,"address":null,"accuracy":10.0,"network":null}]Funktioniert das dort anders?
Im Log erscheint beim Versuch:
script.js.common.traccar_joerg2: setForeignState: undefined is not a valid state value -
Beim Aufruf von:
http://192.168.0.191:8082/api/positions/?id=1einen etwas anderen Aufbau der Antwort:
[{"id":1,"attributes":{"batteryLevel":76.0,"distance":0.0,"totalDistance":0.0,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2020-07-14T07:13:11.926+0000","deviceTime":"2020-07-14T07:13:10.000+0000","fixTime":"2020-07-14T07:13:10.000+0000","outdated":false,"valid":true,"latitude":53.554856,"longitude":9.921739,"altitude":34.33077621459961,"speed":0.0,"course":286.171875,"address":null,"accuracy":10.0,"network":null}]Funktioniert das dort anders?
Im Log erscheint beim Versuch:
script.js.common.traccar_joerg2: setForeignState: undefined is not a valid state value@J_Paul
für die id:

die daten sind etwas anders aufgebaut
mit einem json-online editor (z.b. https://jsoneditoronline.org/#left=local.qipuhe&right=local.balica )kannst du die daten besser ansehen und so den pfad finden, den du brauchst

oder

-
Beim Aufruf von:
http://192.168.0.191:8082/api/positions/?id=1einen etwas anderen Aufbau der Antwort:
[{"id":1,"attributes":{"batteryLevel":76.0,"distance":0.0,"totalDistance":0.0,"motion":false},"deviceId":1,"type":null,"protocol":"osmand","serverTime":"2020-07-14T07:13:11.926+0000","deviceTime":"2020-07-14T07:13:10.000+0000","fixTime":"2020-07-14T07:13:10.000+0000","outdated":false,"valid":true,"latitude":53.554856,"longitude":9.921739,"altitude":34.33077621459961,"speed":0.0,"course":286.171875,"address":null,"accuracy":10.0,"network":null}]Funktioniert das dort anders?
Im Log erscheint beim Versuch:
script.js.common.traccar_joerg2: setForeignState: undefined is not a valid state value -
Danke, auch der Tip war gut.

-
@J_Paul sagte:
Funktioniert das dort anders?
Die äußere Klammer ist ein Array mit einem Element.

@paul53 Könnte man in Blockly auch einen bestimmten Wert auslesen?

so dass ich den Wert von Name (hier Bettina) bekomme, wenn ich die id (hier 3) übergebe, oder muss man dann sowas bauen wie, such nach erstem "id": 3 usw. -
@paul53 Könnte man in Blockly auch einen bestimmten Wert auslesen?

so dass ich den Wert von Name (hier Bettina) bekomme, wenn ich die id (hier 3) übergebe, oder muss man dann sowas bauen wie, such nach erstem "id": 3 usw. -
@J_Paul sagte:
muss man dann sowas bauen wie, such nach erstem "id": 3 usw.
Eine Schleife über das Array benötigt man schon.

@paul53 Vielen Dank, das baue ich mal nach.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
