Konvertering av JSON Object till Serialized PHP Object
Serialisera och deserialisera enkelt data i PHP med vårt mångsidiga verktyg PHP Serializer and Deserializer. Det här onlineverktyget passar perfekt för utvecklare som vill omvandla komplexa datastrukturer till lagringsbara strängar och återskapa dem i sin ursprungliga form. Hantera data korrekt och effektivt utan att installera någon programvara. Förbättra ditt arbetsflöde för PHP-utveckling med detta användarvänliga och pålitliga verktyg.
Vanliga frågor
Om du vill serialisera data i PHP anger du datastrukturen (array, objekt eller skalärt värde) i fältet och klickar på knappen Serialize. Verktyget omvandlar komplexa datastrukturer till ett lagringsbart strängformat enligt PHPs serialiseringsprotokoll. Resultatet kan sparas i filer och databaser eller skickas över nätverk.
Om du vill deserialisera data i PHP anger du den serialiserade strängen (som vanligtvis börjar med formatindikatorer som a:, s: eller O:) i fältet och klickar på knappen Deserialize. Verktyget omvandlar strängen till sin ursprungliga datastruktur och återskapar arrayer, objekt och värden precis som de var före serialiseringen.
Serialisering omvandlar komplexa datastrukturer till lagringsbara strängar och möjliggör beständig datalagring i filer eller databaser, dataöverföring via nätverk, lagring av sessionsdata, cachelagring, meddelandeköers nyttolaster och bevarande av objekttillstånd mellan förfrågningar. Deserialisering återställer originaldata så att de kan användas vidare.
PHP serialiserar strängar, heltal, flyttal, booleska värden, arrayer, objekt och NULL-värden. Verktyget bevarar arraynycklar, objektegenskaper (publika, skyddade och privata), nästlade strukturer och datatyper. Resurser, som databasanslutningar eller filhandtag, kan däremot inte serialiseras och måste hanteras särskilt.
Ja, attacker med objektinjektion i PHP kan förekomma när data som inte är betrodd deserialiseras. Angripare kan skapa skadliga serialiserade strängar som utlöser kodkörning via magiska metoder (__wakeup, __destruct). Avserialisera aldrig användarinmatning eller externa data utan validering. Använd JSON för data som inte är betrodd eller implementera begränsningar med allowed_classes.
Ja, PHP serialiserar anpassade objekt och bevarar alla egenskaper och deras värden. Klassdefinitionerna måste dock ha lästs in före deserialiseringen för att objekten ska återskapas korrekt. Använd autoladdning, inkludera klassfiler eller implementera de magiska metoderna __sleep() och __wakeup() för anpassad serialiseringshantering.
PHP serialize() bevarar exakta datatyper, privata/skyddade egenskaper och objektklassinformation, men fungerar bara i PHP. JSON är språkoberoende, läsbart, webbanpassat och fungerar mellan alla språk, men bevarar inte privata egenskaper eller exakta PHP-typer. Använd serialize() för lagring som bara används i PHP och JSON för API:er och interoperabilitet.
PHP serialiserar automatiskt sessionsdata ($_SESSION) för lagring mellan förfrågningar. När du lagrar arrayer eller objekt i sessioner serialiserar PHP dem till filer eller databaser och deserialiserar dem sedan vid efterföljande sidladdningar. På så sätt kan användartillstånd, kundvagnar och autentisering bevaras mellan sidbesök.
Ja, du kan lagra serialiserad data i TEXT eller i BLOB-kolumner i databaser. Serialiserad data gör det dock svårt att söka effektivt, indexera och hitta information. Använd serialisering för kompletta objekt som lagras som enheter, men välj JSON eller normaliserade tabeller när du behöver söka efter enskilda fält eller hantera relationer mellan data.
Serialiserad data använder formatprefix: s:5:"hello" (sträng), i:42 (heltal), a:2:{...} (array), O:4:"User" (objekt). Tal anger längd eller antal. Formatet är kompakt men inte läsbart för människor. Använd vårt verktyg för att konvertera mellan läsbart JSON och serialiserat format i PHP vid felsökning och datahantering.
Deserialisera data för att inspektera dess struktur, använd print_r() eller var_dump() på deserialiserade värden, konvertera till JSON för läsbarhet, kontrollera om serialiseringen är ofullständig eller skadad, verifiera klasstillgänglighet för objekt och använd vårt verktyg för att visualisera och förstå komplexa serialiserade strukturer.
Standard PHP-serialisering stöder inte stängningar. Använd paket som Opis Closure eller Laravels SerializableClosure för denna funktionalitet. Vanliga funktioner och metoder i objekt kan serialiseras om de definieras i klasser, men anonyma funktioner kräver särskild hantering.
__sleep() körs före serialisering och returnerar en array med egenskaper som ska serialiseras (användbart för att utesluta vissa data). __wakeup() körs efter deserialisering för initiering. __serialize() och __unserialize() (PHP 7.4+) ger större kontroll. Implementera dessa för anpassad serialiseringshantering i dina klasser.
Deserialisera befintliga PHP-data, konvertera dem till arrayer/stdClass-objekt och koda dem sedan med JSON. Uppdatera koden så att den använder json_encode()/json_decode() i stället för serialize()/unserialize(). JSON är säkrare, mer läsbart och kompatibelt, men privata egenskaper och den exakta typinformation som serialisering bevarar går förlorade.