Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

216
Vistas
¿Por qué json_encode devuelve un objeto en lugar de una cadena?

PHP json_encode

Devuelve una cadena que contiene la representación JSON del valor proporcionado. php.net

pero devuelve un objeto JavaScript, no una cadena Json:

 <script> var app = <?php echo json_encode($array); ?>; alert(app.name) </script>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

pero devuelve un objeto JavaScript, no una cadena Json:

El contexto importa, considera este código:

 <?php $array = ['name' => 'John Doe']; $string = json_encode($array); var_dump($string);

Ejecutar eso produce:

 $ php index.php string(19) "{"name":"John Doe"}"

string(19) significa que la variable es una cadena de 19 caracteres. El hecho de que la cadena pueda ser interpretada por js como un objeto es irrelevante aquí, para php está produciendo una cadena.

about 4 years ago · Juan Pablo Isaza Denunciar

0

pero devuelve un objeto JavaScript, no una cadena Json

Te saltas algunos pasos aquí:

  1. json_encode devuelve una cadena en PHP
  2. Esa cadena se le da a la declaración de echo
  3. Todo lo que sale, se pasa como la página HTML para que el navegador lo interprete.
  4. El navegador usa su motor JavaScript para analizar los scripts que forman parte de la página; ese JSON se analiza como cualquier otro objeto literal que pueda aparecer en el script.
  5. Para el motor de JavaScript, esta parte del script no es una cadena, sino un objeto literal.

Puede ser útil reescribir el script PHP en algo que sea equivalente:

 echo " <script> var app = " . json_encode($array) . "; alert(app.name) </script>";

Entonces, ahora está claro que PHP envía una cadena, que representa un JavaScript válido, encerrado en una etiqueta <script> . El JSON es solo una parte de esa cadena larga, que luego el navegador analizará, y donde un motor de JavaScript analiza la parte de JavaScript.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda