Convertitore da JSON Object a Serialized PHP Object
Serializza e deserializza facilmente i dati in PHP con il nostro versatile strumento di serializzazione e deserializzazione PHP. Questa utilità online è ideale per gli sviluppatori che vogliono convertire strutture di dati complesse in stringhe archiviabili e ripristinarle nella forma originale. Gestisci i dati in modo accurato ed efficiente senza installare software. Migliora il tuo flusso di lavoro di sviluppo PHP con questo strumento affidabile e facile da usare.
Domande frequenti
Per serializzare i dati in PHP, inserisci la struttura dei dati (array, oggetto o valore scalare) nel campo apposito e fai clic sul pulsante Serialize. Lo strumento converte le strutture complesse in stringhe archiviabili usando il protocollo di serializzazione di PHP, creando una rappresentazione da salvare in file o database oppure trasmettere in rete.
Per deserializzare i dati in PHP, inserisci nel campo apposito la stringa serializzata (che in genere inizia con indicatori di formato come a:, s: o O:) e fai clic sul pulsante Deserialize. Lo strumento converte la stringa nella struttura di dati originale, ricostruendo array, oggetti e valori esattamente com'erano prima della serializzazione.
La serializzazione converte strutture di dati complesse in stringhe archiviabili, consentendo di conservare i dati in file o database, trasmetterli in rete, salvare dati di sessione, usare meccanismi di caching, creare payload per code di messaggi e preservare lo stato degli oggetti tra richieste. La deserializzazione recupera i dati originali per poterli riutilizzare.
PHP serializza stringhe, interi, numeri in virgola mobile, booleani, array, oggetti e valori NULL. Mantiene le chiavi degli array, le proprietà degli oggetti (pubbliche, protette e private), le strutture annidate e i tipi di dati. Le risorse, come connessioni al database o handle di file, non possono però essere serializzate e richiedono una gestione speciale.
Sì, durante la deserializzazione di dati non attendibili possono verificarsi attacchi di injection di oggetti PHP. Gli aggressori possono creare stringhe serializzate malevole che attivano l'esecuzione di codice tramite metodi magici (__wakeup, __destruct). Non deserializzare mai input utente o dati esterni senza convalidarli. Per i dati non attendibili, usa JSON oppure imposta la restrizione allowed_classes.
Sì, PHP serializza gli oggetti personalizzati mantenendone tutte le proprietà e i relativi valori. Tuttavia, le definizioni delle classi devono essere caricate prima della deserializzazione per ricostruire correttamente gli oggetti. Usa il caricamento automatico, includi i file delle classi oppure implementa i metodi magici __sleep() e __wakeup() per personalizzare la serializzazione.
PHP serialize() mantiene i tipi di dati esatti, le proprietà private e protette e le informazioni sulla classe degli oggetti, ma funziona solo in PHP. JSON è indipendente dal linguaggio, leggibile, adatto al web e compatibile con tutti i linguaggi, ma perde le proprietà private e non mantiene i tipi PHP precisi. Usa serialize() solo per l'archiviazione PHP; JSON per API e interoperabilità.
PHP serializza automaticamente i dati di sessione ($_SESSION) per conservarli tra una richiesta e l'altra. Quando salvi array o oggetti nelle sessioni, PHP li serializza in file o database e li deserializza ai successivi caricamenti della pagina. Ciò consente di mantenere lo stato dell'utente, il carrello e l'autenticazione durante la navigazione.
Sì, puoi archiviare i dati serializzati in colonne TEXT o BLOB del database. Tuttavia, questi dati non consentono query, indicizzazione e ricerca efficienti. Usa la serializzazione per archiviare oggetti completi come unità singole, ma preferisci JSON o tabelle normalizzate quando devi interrogare singoli campi o mantenere relazioni tra i dati.
I dati serializzati usano prefissi di formato: s:5:"hello" (stringa), i:42 (intero), a:2:{...} (array), O:4:"User" (oggetto). I numeri indicano la lunghezza o il conteggio. Il formato è compatto, ma non leggibile. Usa il nostro strumento per convertire tra JSON leggibile e il formato serializzato PHP, utile per il debug e la manipolazione dei dati.
Deserializzare i dati per ispezionarne la struttura, usare print_r() o var_dump() sui valori deserializzati, convertire in JSON per la leggibilità, controllare la serializzazione incompleta o la corruzione, verificare la disponibilità di classi per gli oggetti e usare il nostro strumento per visualizzare e comprendere strutture serializzate complesse.
La serializzazione standard di PHP non supporta le chiusure. Per questa funzionalità si possono usare pacchetti come Opis Closure o SerializableClosure di Laravel. Le funzioni e i metodi regolari degli oggetti possono essere serializzati se sono definiti nelle classi, ma le funzioni anonime richiedono una gestione speciale.
__sleep() viene eseguito prima della serializzazione e restituisce un array delle proprietà da serializzare (utile per escludere determinati dati). __wakeup() viene eseguito dopo la deserializzazione per inizializzare l'oggetto. __serialize() e __unserialize() (PHP 7.4+) offrono un controllo maggiore. Implementali per personalizzare il comportamento di serializzazione delle tue classi.
Deserializza i dati PHP esistenti, convertili in array o oggetti stdClass, poi codificali in JSON. Aggiorna il codice per usare json_encode()/json_decode() al posto di serialize()/unserialize(). JSON è più sicuro, leggibile e compatibile, anche se perderai le proprietà private e la conservazione esatta dei tipi garantite dalla serializzazione.