Perl til JSON-konverterer
Lim inn en Perl hash ref eller array ref. Få ren JSON tilbake.
Hva verktøyet gjør
Hvis du noen gang har stirret på en dypt nestet Perl hash ref og prøvd å skrive tilsvarende JSON for hånd, vet du hvor vondt det er — => vs :, nøkler i anførselstegn, escape-strenger, hele pakka. Lim inn Perl her, så får du gyldig JSON tilbake uten å skrive noe på nytt. Det håndterer en enkelt {...}-hash ref, en serie my $x = {...}; my $y = [...];-deklarasjoner, eller noe fem nivåer dypt med array refs inne i hash refs inne i flere hash refs.
Det matcher det du ville fått fra JSON::PP eller Cpanel::JSON::XS med canonical => 1. Hash refs blir JSON-objekter, array refs blir arrays, undef blir null, tall forblir tall, strenger forblir strenger. Den gamle tvetydigheten i Perl-dokumentasjonen mellom "1" og 1 løses som vanlig — ser det numerisk ut, kommer det ut som et JSON-tall.
Blessed references (Perls variant av objekter) pakkes ut til den underliggende hash ref:en, så bless { ... }, "Order" kommer ut som et vanlig JSON-objekt med samme nøkler. Sentinelverdiene JSON::true, JSON::false og JSON::null konverteres til sine JSON-motstykker. Flere deklarasjoner på toppnivå havner som nøkler i JSON-utdataen, navngitt etter variabelen.
Slik bruker du det
Tre steg. Funker likt enten du limer inn en liten hash ref eller en hel config-dump.
Lim inn Perl-koden din (eller prøv eksempelet)
Slipp Perl-koden rett inn i venstre editor. En hash ref, en array ref, flere deklarasjoner eller et blessed object — alt går bra. Klikk Last inn eksempel hvis du vil se et realistisk case.
La referansesyntaksen være i fred — \%hash, \@array, {...}, [...]. Parseren forstår alt.
Trykk Konverter
Klikk på den grønne Konverter-knappen. Verktøyet går gjennom Perl-strukturen, løser referanser og bygger JSON-en i én runde.
Kopier JSON-en
Høyre panel viser innrykket JSON, klar for et API-payload, en fixture-fil eller en CPAN-modultest. Kopier og gå videre.
Når det faktisk redder dagen
Bort fra Storable eller Data::Dumper
Du har årevis med gamle Perl hash-dumps og må sende dem videre til et moderne API — JSON er lingua franca. Lim inn og få ordentlig JSON uten å skrive en encoder.
Mate et REST-endepunkt fra et Perl-skript
Cron-jobben din bygger en hash ref fra et databasekall. Før du fyrer den av mot et REST-API, lim den inn her for å sjekke at JSON-formen matcher det serveren forventer.
Skrive testfixtures
Ta en hash ref rett fra en Perl-modultest, konverter til JSON, legg den i en .json-fixture for tester på tvers av språk.
Dele config med utviklere som ikke kjører Perl
En Perl-configfil bruker hash refs overalt. Konverter til JSON så Node-, Go- eller Python-teamet kan lese den uten å installere Perl.
Vanlige spørsmål
Håndterer den blessed objects?
Ja. En blessed hash ref (f.eks. bless { id => 1 }, "Order") behandles som den underliggende hash ref:en — klassenavnet forsvinner og nøklene/verdiene kommer ut som et vanlig JSON-objekt. Det matcher hvordan JSON::PP oppfører seg med convert_blessed.
Hva med <code>undef</code>, <code>JSON::true</code>, <code>JSON::false</code>?
undef blir JSON null. JSON::true / \1 blir true, JSON::false / \0 blir false. Det er standard boolean-konvensjonene fra Cpanel::JSON::XS.
Kan jeg lime inn <code>Data::Dumper</code>-output?
Ja — output fra Data::Dumper (formen $VAR1 = {...};) parses uten problemer. Det ledende $VAR1 = tolkes som variabelnavn og blir den ytterste nøkkelen.
Hvordan håndteres tall vs strenger?
Perl er litt slapp med forskjellen. Konvertereren følger den vanlige regelen: nakne numeriske literaler (42, 3.14) blir JSON-tall, og alt i anførselstegn ("42") forblir en JSON-streng. Trenger du en streng som ser numerisk ut, sett den i anførselstegn.
Lagres koden min?
Koden din går til backenden for konvertering og lagres ikke — vi logger ikke payloaden. Hvis hash ref:en inneholder ekte credentials, bytt dem ut før du limer inn.
Hva skjer hvis jeg limer inn flere hash refs?
Hver toppnivå-my $name = {...}; blir en nøkkel i JSON-outputten, navngitt etter variabelen. Anonyme strukturer får "_1", "_2" osv. Ingenting droppes i stillhet.
Andre verktøy du kan trenge
Perl til JSON passer godt sammen med resten av verktøykassa: