JSON auf Gültigkeit prüfen

Begonnen von JudgeDredd, 15 Dezember 2025, 09:00:53

Vorheriges Thema - Nächstes Thema

TomLee

#15
"true" ist ein gültiger JSON:
https://www.crockford.com/mckeeman.html

Ich hab die Antwort nicht durch lesen rausbekommen, sondern aus ChatGPT gekitzelt.

decode_json und JSON->new sind default zu "relaxed".

Ändern kann man das angeblich nur bei JSON-new mit JSON->new->relaxed(0)->allow_nonref(0), damit kommt keine 1 mehr.

JudgeDredd

Holla die Waldfee !
ja, so scheint es tatsächlich zu dem von mir bevorzugtem Verhalten kommen.
use JSON;
$result = 'true';
#$result = '{"text_value": 42,"text_string": "irgendwas","liste": ["A", "B", "C"],"objekt": {"x": 123.45,"y": -67.89,"aktiv": true} }';

if ( eval { $ref = JSON->new->relaxed(0)->allow_nonref(0)->decode($result) } ) {
  print $ref;
} else {
  print "ERROR: $@\n";
}
Dann richte mal der von Dir verwendeten KI meine Grüße aus. 😉

vielen Dank + Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)