Hallo,
ich habe Probleme mit einer JSON Response die mit HTTPMOD abgefragt wird (Spritpreise von Tankerkönig API abfragen).
Ich habe hier einige Hinweise und Beispiele gefunden, komme aber trotzdem nicht zu einer Lösung und würde mich über
Hilfe freuen!
Wie in dem Listing zu sehen ist, steht im httpBody die Victoriastraße als Victoriastra\u00dfe. Diese Zeichenfolge
wird auch so in das Reading TS2_Strasse übernommen.
Ich habe mit div. Encode und Decode Optionen leider kein anderes Ergebnis bekommen....
Mein letzter Versuch, bevor ich die weiße Fahne gehisst habe war:
reading21Encode utf8
und
reading21Decode utf8
Für Hilfestellung wäre ich sehr dankbar...
LG Hermann
Listing
Internals:
BUSY 0
DEF https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002 0
FUUID 671962e2-f33f-3606-21fc-8659c53518c188f3
Interval 0
MainURL https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
ModuleVersion 4.2.0 - 11.8.2023
NAME TS_Spritpreise
NOTIFYDEV global
NR 1502
NTFY_ORDER 50-TS_Spritpreise
STATE ???
TYPE HTTPMOD
eventCount 2
httpbody {
"ok": true,
"license": "CC BY 4.0 - https:\/\/creativecommons.tankerkoenig.de",
"data": "MTS-K",
"status": "ok",
"stations": [
{
"id": "005056ba-7cb6-1ed2-bceb-9dd1e660cd3c",
"name": "star Tankstelle",
"brand": "STAR",
"street": "Kinderheim-\/Bergstrasse",
"place": "Marl",
"lat": 51.664773,
"lng": 7.123585,
"dist": 0.7,
"price": 1.009,
"isOpen": false,
"houseNumber": "",
"postCode": 45770
},
{
"id": "c826d6d2-9b1a-47b0-acc1-9322bdbf99a0",
"name": "Aral Tankstelle",
"brand": "ARAL",
"street": "Victoriastra\u00dfe",
"place": "Marl",
"lat": 51.66564,
"lng": 7.150652,
"dist": 1.2,
"price": 1.009,
"isOpen": true,
"houseNumber": "174",
"postCode": 45772
}
]
}
value
CompiledRegexes:
HttpUtils:
NAME
addr https://creativecommons.tankerkoenig.de:443
auth 0
code 200
compress 1
conn
data
displayurl https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
header Content-Type: application/json
host creativecommons.tankerkoenig.de
httpheader HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Thu, 24 Oct 2024 20:07:01 GMT
Content-Type: application/json; charset=utf-8
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: origin, x-requested-with, content-type, accept
Access-Control-Allow-Methods: GET
httpversion 1.0
hu_blocking 0
hu_filecount 1
hu_port 443
hu_portSfx
ignoreredirects 1
loglevel 4
path /json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
protocol https
redirects 0
timeout 5
url https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
sslargs:
QUEUE:
READINGS:
2024-10-24 22:07:01 TS2_Strasse Victoriastra\u00dfe
REQUEST:
context reading
data
header Content-Type: application/json
ignoreredirects 0
num unknown
retryCount 0
type update
url https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
defptr:
readingBase:
TS2_Strasse reading
readingNum:
TS2_Strasse 21
readingOutdated:
requestReadings:
update:
TS2_Strasse reading 21
Attributes:
event-on-change-reading .*
reading21Encode utf8
reading21Name TS2_Strasse
reading21Regex "c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"[^}]*"street": "([\w\s\\]+)"
requestHeader Content-Type: application/json
room Garage
showBody 1
timeout 5
Guten Morgen,
Hat wirklich keiner eine Idee wie ich die Umlaute umwandeln muss um lesbare Texte zu bekommen?
Oder ist der Thread falsch?
Für Hilfe und Unterstützung wäre ich dankbar!
Grüße
Hermann
Ich hab von dieser Geschichte keine Ahnung, aber da keiner antwortet, habe ich mal ne KI gefragt. Die sagt folgendes, aber ohne Gewähr:
"c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"[^}]*"street":\s*"(.*?)"
Hier ein kurzer Überblick:
"c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"
: Identifiziert den spezifischen Eintrag.[^}]*
: Erfasst alles bis zum
}
-Schließzeichen des Objekts."street":\s*"
: Sucht nach
"street":
, gefolgt von optionalen Leerzeichen."(.*?)"
: Sammelt den Inhalt des Straßen-Strings in einer nicht-gierigen Weise (sodass nur der Wert für "street" extrahiert wird), einschließlich aller Unicode-Zeichen.
Damit sollte die Straße ,,Victoriastraße" korrekt als
TS2_Strasse
-Reading angezeigt werden. Teste die Anpassung und prüfe, ob die Umlaute jetzt korrekt dargestellt werden.
Wenn Du schon json zurückbekommst, warum nimmst Du dann HTTPMOD und nicht JsonMod?
Bei mir kommen da out-of-the-box die richtigen Werte inkl. deutsche Sonderzeichen raus, siehe Anhang.
defmod tanker JsonMod file:///tmp/tanker.json
attr tanker readingList complete()
Bei Dir kannst Du natürlich auch die URL angeben, ich hatte einfach den json-Content aus Deinem Beispiel in eine Datei kopiert, da ich keinen API key habe.
Zitat von: Invers am 26 Oktober 2024, 13:33:54Teste die Anpassung und prüfe, ob die Umlaute jetzt korrekt dargestellt werden.
Warum sollte diese regex irgendeinen Einfluss auf die zeichensatzabhängige Darstellung haben? Der Eintrag für die Straße wird doch vollständig ausgelesen, er wird nur falsch dargestellt.
Zitat von: Hermann123 am 24 Oktober 2024, 22:32:36Wie in dem Listing zu sehen ist, steht im httpBody die Victoriastraße als Victoriastra\u00dfe.
Diese Zeichenfolge wird auch so in das Reading TS2_Strasse übernommen.
Zitat von: Invers am 26 Oktober 2024, 13:33:54Ich hab von dieser Geschichte keine Ahnung, aber da keiner antwortet, habe ich mal ne KI gefragt. Die sagt folgendes, aber ohne Gewähr:
"c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"[^}]*"street":\s*"(.*?)"
Die KI hat tatsächlich eine passende regex erstellt.
Aber die etwas andere regex ändert nichts an der Umlaut-Darstellung.
Vielen Dank für Deine Mühe
Zitat von: betateilchen am 26 Oktober 2024, 13:51:47Wenn Du schon json zurückbekommst, warum nimmst Du dann HTTPMOD und nicht JsonMod?
Bei mir kommen da out-of-the-box die richtigen Werte inkl. deutsche Sonderzeichen raus, siehe Anhang.
Code Auswählen Erweitern
defmod tanker JsonMod file:///tmp/tanker.json
attr tanker readingList complete()
Vielen Dank :-)
Ich habe das mit jsonMod ausprobiert...funktioniert natürlich wie in Deinem "out of the box sample".
Aber:
- ich möchte nicht alle readings auswerten (nur brand, street und price). Ich vermute
allerdings, das es dafür auch eine Lösung gibt. - die automatische Differenzierung / Benamung der readings mit
stations.n.readingsName
würde im weiteren Projekt wahrscheinlich Probleme machen, da sich die Liste ändern kann (je nach Suchradius)
und >n< somit nicht konstant ist.
Habe es deshalb auch im JsonMod mit
reading21Regex "c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"[^}]*"street": "([\w\s\\]+)"
versucht und bekomme das gleiche, falsche Ergebnis.
Könnte man nun ignorieren, den Weg in Deinem Beispiel weiter verfolgen und die Probleme mit >n< später angehen.
Aber
- Dein Ansatz mit readingList complete() habe ich weder in HTTPMOD noch in JsonMod
Beschreibungen gefunden. Ich möchte aber gerne nachvollziehen können warum das zu
dem Ergebnis führt. - ich möchte die Mechanismen von HTTPMOD auch verstehen und rausfinden wie man die
Umlaute mit den offensichtlich dafür gedachten Funktionen rund um Zeichensatz
Manipulationen vernünftig hinbekommt.
Ich fände es echt super wenn ich hierbei Unterstützung bekomme.....
PS
der API Key ist ein Demo Key. funktioniert, liefert aber nicht die aktuellen Preise.
apikey=00000000-0000-0000-0000-000000000002
LG Hermann
Zitat von: Hermann123 am 26 Oktober 2024, 16:33:36Aber:
- ich möchte nicht alle readings auswerten (nur brand, street und price). Ich vermute
allerdings, das es dafür auch eine Lösung gibt. - die automatische Differenzierung / Benamung der readings mit
stations.n.readingsName
würde im weiteren Projekt wahrscheinlich Probleme machen, da sich die Liste ändern kann (je nach Suchradius)
und >n< somit nicht konstant ist.
Dann solltest Du die commandref zu JsonMod lesen, natürlich kann man auch einzelne readings erzeugen.
In der commandref zu JsonMod steht complete() sehr wohl beschrieben, genau wie single() für das Erzeugen beliebiger einzelner readings.
readingList
Specifies the access to json elements and their representation as well as formatting as reading.
...
complete();
Automatically creates readings for the entire JSON source. The readings are named after their JSON path.
Der Einfachheit halber hatte ich in meinem Test das Attribut readingList auf complete() gesetzt, daraus resultieren die "nummerierten" und automatisch erzeugten readings.
Nach wie vor sehe ich das Modul JsonMod für Dein Vorhaben als die bessere Wahl zu einer möglichst simplen Lösung.
Zitat von: Hermann123 am 26 Oktober 2024, 16:33:36Habe es deshalb auch im JsonMod mit
reading21Regex "c826d6d2-9b1a-47b0-acc1-9322bdbf99a0"[^}]*"street": "([\w\s\\]+)"
versucht und bekomme das gleiche, falsche Ergebnis.
Wie hast Du das denn gemacht? JsonMod kennt doch das Attribut reading21Regex überhaupt nicht.
Zitat von: Hermann123 am 26 Oktober 2024, 16:33:36Dein Ansatz mit readingList complete() habe ich weder in HTTPMOD
Das ist ein Attribut, das es nur in JsonMod gibt, nicht in HTTPMOD.
Zitat von: Hermann123 am 26 Oktober 2024, 16:33:36die automatische Differenzierung / Benamung der readings mit
stations.n.readingsName
würde im weiteren Projekt wahrscheinlich Probleme machen, da sich die Liste ändern kann (je nach Suchradius)
und >n< somit nicht konstant ist.
Wie möchtest Du denn die readings benannt haben?
defmod tanker_j JsonMod file:///tmp/tanker.json
attr tanker_j readingList multi(jsonPath('$.stations.[*]'),property('brand'),concat(property('street'),', ',property('price')))
ergibt beispielsweise
2024-10-26 21:55:29 ARAL Victoriastraße, 1.009
2024-10-26 21:55:29 STAR Kinderheim-/Bergstrasse, 1.009
Der Phantasie sind fast keine Grenzen gesetzt.
Zitat von: betateilchen am 26 Oktober 2024, 21:39:25Der Phantasie sind fast keine Grenzen gesetzt.
.... aber meinem Geist anscheinend ;)
Da muss ich mich erstmal reinfummeln.....morgen wieder....
Danke für Deine Unterstützung!!
Zitat von: betateilchen am 26 Oktober 2024, 20:29:36Wie hast Du das denn gemacht? JsonMod kennt doch das Attribut reading21Regex überhaupt nicht.
ZitatDas ist ein Attribut, das es nur in JsonMod gibt, nicht in HTTPMOD.
Sorry, da habe ich mich wohl total verrannt und Blödsinn gepostet.
Zitat von: Hermann123 am 26 Oktober 2024, 16:33:36ich möchte nicht alle readings auswerten (nur brand, street und price). Ich vermute allerdings, das es dafür auch eine Lösung gibt.
Der Vollständigkeit halber solltest Du dann aber auch noch die houseNumber zusammen mit street verwenden :)
Man könnte dafür beispielsweise sowas bauen:
defmod tanker_j JsonMod file:///tmp/tanker.json
attr tanker_j readingList multi(jsonPath('$.stations.[*]'),concat(property('id'),'_brand'),property('brand'))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_street'),concat(property('street'),' ',property('houseNumber')))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_price'),property('price'))
Dann erhält man für jede Tankstelle drei readings, deren Namen mit der 'id' der Tankstelle beginnen:
2024-10-27 09:25:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_brand STAR
2024-10-27 09:25:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_price 1.009
2024-10-27 09:25:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_street Kinderheim-/Bergstrasse
2024-10-27 09:25:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_brand ARAL
2024-10-27 09:25:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_price 1.009
2024-10-27 09:25:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_street Victoriastraße 174
(Anmerkung: bei STAR gibt es keine Hausnummer im Datensatz, obwohl die Tankstelle die Hausnummer 22 in der Kinderheimstr. hat)
@betateilchen
Bei mir funktionierrt keins Deiner Beispiele. Weder mit der JSON Datei, noch per WEB.
Internals:
API_LAST_MSG 200
API_LAST_RES 1730036321.31843
DEF file:///home/pi/tanken.json
FUUID 671d554a-f33f-3606-7436-24c3b328dadee5c1
NAME TS2_Spritpreise
NEXT 2025-01-01 00:00:00
NR 1521
SOURCE /home/pi/tanken.json ()
STATE ???
SVN 28481 2024-02-05 22:14:33 UTC
TYPE JsonMod
eventCount 11
CONFIG:
IN_REQUEST 0
SOURCE file:///home/pi/tanken.json
SECRET:
OLDREADINGS:
READINGS:
Attributes:
interval 0 0 1 1 *
readingList readingList complete()
room Garage
verbose 5
Im log steht bei den letzten 4 reread Versuchen folgendes (mit verbose=5)
2024.10.27 14:16:53 4: [TS2_Spritpreise] next request: 2025.01.01 00:00:00
2024.10.27 14:16:56 1: PERL WARNING: Argument "" isn't numeric in addition (+) at ./FHEM/98_JsonMod.pm line 1112.
2024.10.27 14:16:56 5: [TS2_Spritpreise] start JsonPath
2024.10.27 14:16:56 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_JsonMod.pm line 652.
2024.10.27 14:18:32 5: [TS2_Spritpreise] start JsonPath
2024.10.27 14:18:32 4: [TS2_Spritpreise] $.stations.[*] is empty or missing: discarded
2024.10.27 14:19:29 5: [TS2_Spritpreise] start JsonPath
2024.10.27 14:19:29 4: [TS2_Spritpreise] $.stations.[*] is empty or missing: discarded
2024.10.27 14:22:32 5: [TS2_Spritpreise] start JsonPath
2024.10.27 14:22:32 4: [TS2_Spritpreise] $.stations.[*] is empty or missing: discarded
Ich werde jetzt erstmal mein System und die perl & json Pakete checken.
Wenn das OK ist bzw andere JSON basierte PRG laufen melde ich mich wieder.
Bis hierhin: DANKE
Zitatfile:///home/pi/tanken.json
Hallo,
überleg doch mal, fällt dir bei der Syntax der Pfadangabe denn nichts auf?
Dazu brauchts doch nicht mal einen Blick in die commandref.
Aber selbst mit richtiger Pfadsyntax hat der User fhem default auch keine Leserechte auf den Ordner, oder hast die angepasst?
Gruß Thomas
Mir stellt sich die Frage warum es mit der Angabe des Link zu "invalid server response" kommt.
Wenn man die URL mit dem Demo-API-Key im Browser aufruft bekommt man den Json zurück.
define jm_test JsonMod https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
attr jm_test readingList multi(jsonPath('$.stations.[*]'),concat(property('id'),'_brand'),property('brand'))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_street'),concat(property('street'),' ',property('houseNumber')))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_price'),property('price'))
# API_LAST_MSG invalid server response
# API_LAST_RES 1730039141.32724
# CFGFN
# DEF https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
# FUUID 671cfefd-f33f-7844-a112-620cdd50fda45a38
# NAME jm_test
# NEXT 2024-10-27 16:00:00
# NR 105
# SOURCE https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002 (200)
# STATE ???
# SVN 28481 2024-02-05 22:14:33 UTC
# TYPE JsonMod
# eventCount 7
# CONFIG:
# IN_REQUEST 0
# SOURCE https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
# SECRET:
#
Zitat von: Hermann123 am 27 Oktober 2024, 14:40:54readingList readingList complete()
Vermutlich taucht im Attribut auch das Wort "readingList" einmal zu viel auf.
Gruß Ralf
Zitat von: TomLee am 27 Oktober 2024, 15:18:52Zitatfile:///home/pi/tanken.json
überleg doch mal, fällt dir bei der Syntax der Pfadangabe denn nichts auf?
Was soll einem denn da auffallen? Mir fällt an der Pfadangabe jedenfalls nichts auf, das grundsätzlich falsch wäre.
Zitat von: TomLee am 27 Oktober 2024, 15:32:06Mir stellt sich die Frage warum es mit der Angabe des Link zu "invalid server response" kommt.
Wenn man die URL mit dem Demo-API-Key im Browser aufruft bekommt man den Json zurück.
Bei mir funktioniert der Aufruf mit der URL völlig problemlos:
defmod tanker_j JsonMod https://creativecommons.tankerkoenig.de/json/list.php?lat=51.662824&lng=7.1338207&rad=1.5&sort=price&type=diesel&apikey=00000000-0000-0000-0000-000000000002
attr tanker_j readingList multi(jsonPath('$.stations.[*]'),concat(property('id'),'_brand'),property('brand'))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_street'),concat(property('street'),' ',property('houseNumber')))\
multi(jsonPath('$.stations.[*]'),concat(property('id'),'_price'),property('price'))
und liefert
setstate tanker_j 2024-10-27 16:01:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_brand STAR
setstate tanker_j 2024-10-27 16:01:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_price 1.009
setstate tanker_j 2024-10-27 16:01:17 005056ba-7cb6-1ed2-bceb-9dd1e660cd3c_street Kinderheim-/Bergstrasse
setstate tanker_j 2024-10-27 16:01:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_brand ARAL
setstate tanker_j 2024-10-27 16:01:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_price 1.009
setstate tanker_j 2024-10-27 16:01:17 c826d6d2-9b1a-47b0-acc1-9322bdbf99a0_street Victoriastraße 174
Zitat von: Hermann123 am 27 Oktober 2024, 14:40:54@betateilchen
Bei mir funktionierrt keins Deiner Beispiele. Weder mit der JSON Datei, noch per WEB.
Erstens hast Du das Attribut 'readingList' (wie schon Ralf angemerkt) falsch angegeben.
Zweitens solltest Du das Attribut 'interval' weglassen, solange Du nicht genau weißt, was Du da tust. Zumindest solltest Du da nicht irgendwelche sinnlosen Fantasiewerte reinschreiben.
Du musst einfach anfangen, ein bisschen sorgfältiger zu arbeiten und vielleicht auch versuchen zu verstehen, was Du eigentlich tust.
Zitat von: Hermann123 am 27 Oktober 2024, 14:40:54Ich werde jetzt erstmal mein System und die perl & json Pakete checken.
Wenn das OK ist bzw andere JSON basierte PRG laufen melde ich mich wieder.
Deine json Pakete sind in Ordnung, sonst bekämst Du schon beim Anlegen des JsonMod-devices eine Fehlermeldung.
Außerdem hatte Dein erster Test mit complete() ja schonmal funktioniert.
Zitat von: RalfRog am 27 Oktober 2024, 15:49:36Vermutlich taucht im Attribut auch das Wort "readingList" einmal zu viel auf.
... nur bei der aufbereiteten config für's listing zum pposten.
Bei den Tests war es richtig...
Zitat von: TomLee am 27 Oktober 2024, 15:18:52Aber selbst mit richtiger Pfadsyntax hat der User fhem default auch keine Leserechte auf den Ordner, oder hast die angepasst?
Leserechte sind gesetzt für ugo
ZitatWas soll einem denn da auffallen? Mir fällt da jedenfalls nichts auf, das falsch wäre.
Wenn das bei dir mit den drei / tun sollte, dann muss irgendwas auf meinen zwei Systemen (auf denn ich das heute nachvollzogen habe) irgendwas falsch laufen. Bei mir tut das, wie bei vergangenen Tests auch schon, nur mit zweien und bin bisher auch davon ausgegangen das sei normal.
Zitat von: betateilchen am 27 Oktober 2024, 16:06:17Zweitens solltest Du das Attribut 'interval' weglassen, solange Du nicht genau weißt, was Du da tust.
Ohne interval Attribut wird die Seite / Datei jede Stunde aufgerufen.
Zum Testen wollte ich das immer manuell machen, per releod. Daher habe ich das interval auf den ersten JAN gesetzt.
Zitat von: TomLee am 27 Oktober 2024, 16:18:21Wenn das bei dir mit den drei / tun sollte, dann muss irgendwas auf meinen zwei Systemen (auf denn ich das heute nachvollzogen habe) irgendwas falsch laufen. Bei mir tut das, wie bei vergangenen Tests auch schon, nur mit zweien und bin bisher auch davon ausgegangen das sei normal.
Ein Blick in die commandref hilft manchmal und würde solche unnötige Verwirrung völlig abseits vom Thema vermeiden.
Bei file:/// sollten es immer drei / sein, wenn man einen
absoluten Pfad verwenden möchte.
https://forum.fhem.de/index.php?msg=1278110
ZitatBei mir funktioniert der Aufruf mit der URL völlig problemlos:
ja, die Link-Variante hab ich nur auf dem Testsystem probiert gehabt (und da war libcpanel-json-xs-perl noch nicht installiert) ::)
Zitat von: TomLee am 27 Oktober 2024, 16:49:15(und da war libcpanel-json-xs-perl noch nicht installiert)
@TomLee
Deine Erwähnung des fehlenden Pakets hat mich auf die richtige Spur gebracht. Die
libcpanel-json-xs-perl war zwar bei mir installiert, aber nach einigem Suchen habe ich im Wiki einen Beitrag über CPAN gefunden.
Dort sind 2 XS Pakete gelistet (
JSON::XS war schon installiert)...und sieh da, nach der Installation von
JSON::MaybeXS läuft das Modul nun mit den Beispielen von betateilchen. Ob das so bleibt,
oder dieses Vorgehen falsch ist, werde ich sehen (oder hier lesen)...
Vielen Dank für den Stubs in die richtige Richtung!
@betateilchen
Dir vielen Dank für die verschiedenen Beispiele. Ich werde mich jetzt, da es erstmal läuft,
weiter mit JsonMod auseinander setzen. Da bei HTTPMOD die Umlaute immer noch nicht gewandelt werden,
bleibe ich bei JsonMOD....
Danke! ...bis zur nächsten Frage ;D
Zitat von: Hermann123 am 28 Oktober 2024, 23:07:19Dort sind 2 XS Pakete gelistet (JSON::XS war schon installiert)...und sieh da, nach der Installation von
JSON::MaybeXS läuft das Modul nun mit den Beispielen von betateilchen. Ob das so bleibt,
oder dieses Vorgehen falsch ist, werde ich sehen (oder hier lesen)...
Naja "falsch" nicht direkt. Aber warum tut man sich den Streß an, perl Paket aus CPAN zu installieren, wenn es dafür auch fertige Debian Pakete (hier: libcpanel-json-xs-perl) gibt, die man per apt verwenden könnte? Man umginge damit die Situation, dass man perl Pakete aus verschiedenen Quellen hat, die bei einem Update gegenseitig nichts voneinander wissen. Sowas schafft auf Dauer mehr Probleme, als dass es wirklich nützt.
Aber Hauptsache, es funktioniert jetzt überhaupt erstmal bei Dir mit der Preisabfrage.