Conversor de JSON Object para Serialized PHP Object
Serialize e desserialize dados em PHP com nossa versátil ferramenta Serializer and Deserializer para PHP. Este utilitário on-line é ideal para desenvolvedores que precisam converter estruturas de dados complexas em strings armazenáveis e recuperá-las em sua forma original. Garanta o tratamento preciso e eficiente dos dados sem instalar nenhum software. Aprimore seu fluxo de trabalho de desenvolvimento com PHP usando esta ferramenta confiável e fácil de usar.
Perguntas frequentes
Para serializar dados em PHP, insira sua estrutura de dados (array, objeto ou valor escalar) no campo fornecido e clique no botão Serialize. A ferramenta converte estruturas de dados complexas em um formato de string armazenável usando o protocolo de serialização de PHP, criando uma representação que pode ser salva em arquivos, bancos de dados ou transmitida por redes.
Para desserializar dados em PHP, insira a string serializada (geralmente iniciada por indicadores de formato como a:, s: ou O:) no campo fornecido e clique no botão Deserialize. A ferramenta converte a string de volta à estrutura de dados original, reconstruindo arrays, objetos e valores exatamente como eram antes da serialização.
A serialização converte estruturas de dados complexas em strings armazenáveis, permitindo o armazenamento persistente de dados em arquivos ou bancos de dados, a transmissão de dados por redes, o armazenamento de dados de sessão, mecanismos de cache, cargas úteis de filas de mensagens e a preservação do estado de objetos entre solicitações. A desserialização recupera os dados originais para uso contínuo.
PHP serializa strings, números inteiros, números de ponto flutuante, booleanos, arrays, objetos e valores NULL. Preserva chaves de arrays, propriedades de objetos (públicas, protegidas e privadas), estruturas aninhadas e tipos de dados. No entanto, recursos (como conexões de banco de dados ou identificadores de arquivos) não podem ser serializados e exigem tratamento especial.
Sim, ataques de injeção de objetos em PHP podem ocorrer ao desserializar dados não confiáveis. Atacantes podem criar strings serializadas maliciosas que acionam a execução de código por meio de métodos mágicos (__wakeup, __destruct). Nunca desserialize entradas de usuários ou dados externos sem validação. Use JSON para dados não confiáveis ou implemente restrições de allowed_classes.
Sim, PHP serializa objetos personalizados preservando todas as propriedades e seus valores. No entanto, as definições das classes precisam ser carregadas antes da desserialização para reconstruir os objetos corretamente. Use carregamento automático, inclua os arquivos das classes ou implemente os métodos mágicos __sleep() e __wakeup() para personalizar o comportamento da serialização.
PHP serialize() preserva os tipos de dados exatos, as propriedades privadas/protegidas e as informações da classe do objeto, mas só funciona em PHP. JSON é independente de linguagem, legível, compatível com a Web e funciona em todas as linguagens, mas não preserva propriedades privadas nem tipos PHP exatos. Use serialize() apenas para armazenamento PHP; use JSON para APIs e interoperabilidade.
PHP serializa automaticamente os dados de sessão ($_SESSION) para armazenamento entre solicitações. Quando você armazena arrays ou objetos em sessões, PHP os serializa em arquivos ou bancos de dados e, depois, os desserializa nas próximas cargas de página. Isso permite manter o estado do usuário, carrinhos de compras e autenticação entre visitas às páginas.
Sim, armazene dados serializados em TEXT ou em colunas BLOB do banco de dados. No entanto, dados serializados impedem consultas, indexação e pesquisas eficientes. Use a serialização para armazenar objetos completos como unidades únicas, mas prefira JSON ou tabelas normalizadas quando precisar consultar campos individuais ou manter relações entre dados.
Dados serializados usam prefixos de formato: s:5:"hello" (string), i:42 (inteiro), a:2:{...} (array), O:4:"User" (objeto). Os números indicam comprimento ou quantidade. O formato é compacto, mas não é legível por humanos. Use nossa ferramenta para converter entre JSON legível e o formato serializado PHP para depuração e manipulação de dados.
Deserialize os dados para inspecionar sua estrutura, use print_r() ou var_dump() em valores desserializados, converta para JSON para facilitar a leitura, verifique se há serialização incompleta ou corrupção, verifique a disponibilidade de classes para objetos e use nossa ferramenta para visualizar e entender estruturas serializadas complexas.
A serialização padrão do PHP não é compatível com closures. Use pacotes como o Opis Closure ou o SerializableClosure do Laravel para essa funcionalidade. Funções e métodos regulares em objetos podem ser serializados se forem definidos em classes, mas as funções anônimas exigem um tratamento especial.
__sleep() é executado antes da serialização e retorna um array de propriedades para serializar (útil para excluir determinados dados). __wakeup() é executado após a desserialização para inicialização. __serialize() e __unserialize() (PHP 7.4+) oferecem mais controle. Implemente esses métodos para personalizar o comportamento da serialização nas suas classes.
Desserialize os dados existentes em PHP, converta-os em arrays/objetos stdClass e, em seguida, codifique-os em JSON. Atualize o código para usar json_encode()/json_decode() em vez de serialize()/unserialize(). JSON é mais seguro, legível e compatível, embora você perca propriedades privadas e a preservação exata de tipos oferecida pela serialização.