Enlace original: http://hi.baidu.com/lostdays/blog/item/8d76c300ec4e3c15738b65fa.html
Catálogo general
Qué, por qué, cómo
Qué
Por qué
Cómo
la sintaxis de serialización de PHP
Ejemplo de serialización PHP
Serializar a JSON en JavaScript: usando json2.js
Serializar a JSON en JavaScript: usando prototipo.js
PHP con la función JSON
json_decode
función json_encode
Ejemplo de función json_decode
de ejemplo de la función json_encode
brinda
una explicación de los conocimientos
reales
Parte de JavaScript de interfaz
Parte de PHP de back-end
Qué, por qué, cómo
qué
Ok, queridos amigos, comencemos el viaje de este nuevo concepto. Quizás no todos hayan prestado mucha atención al tema de la serialización antes. De hecho, se originó el día que hojeé casualmente el manual de PHP. y encontré esta serialización. Después de eso, me aburrí e hice un complemento de WordPress. En este momento, usé la serialización y descubrí que de hecho es muy conveniente en ciertas situaciones.
Primero expliquemos la serialización: en pocas palabras, la serialización es el proceso de convertir variables en un flujo de bytes. La introducción de la serialización resuelve efectivamente el problema del almacenamiento y la transmisión de objetos. Por ejemplo, creé un objeto en JavaScript y ahora quiero guardar este objeto en la base de datos del lado del servidor. Entonces, ¿cómo lo opero, esta vez la serialización? A menudo se utiliza el término de objetos. En la serialización de JavaScript, debemos mencionar JSON (Notación de objetos JavaScript) es un formato de intercambio de datos liviano. Fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Está basado en el lenguaje de programación JavaScript, un subconjunto del estándar ECMA-262, tercera edición, diciembre de 1999. JSON utiliza un formato de texto completamente independiente del idioma, pero también utiliza convenciones similares a la familia de lenguajes C (incluidos C, C++, C#, Java, JavaScript, Perl, Python, etc.). Estas propiedades hacen de JSON un lenguaje de intercambio de datos ideal.
La gente suele comparar JSON y XML. Ambos son medios para aplanar objetos (explicaremos este "aplanamiento" más adelante. XML se caracteriza por una estructura rigurosa, mientras que JSON se caracteriza por ser simple y fácil de usar). el programa para análisis, porque puede convertir fácilmente un objeto en la forma de una secuencia de caracteres, como el siguiente código:
Código:
{"type":"human","name":"hanguofeng","age": 22 }
es una expresión JSON que guarda un objeto. ¿Cómo lo restauramos en un objeto? Es muy simple, como sigue:
Código:
var animal_str = '{"type":"human","name":"hanguofeng","age":22}';
var animal2=eval('(' + animal_str + ')');
Usamos la función de evaluación de JavaScript para operar la expresión JSON y devolver el valor para obtener un objeto. En este punto, creo que definitivamente lo entenderás. Admiro el pensamiento del creador del formato JSON. Originalmente iba a hablar sobre serialización, pero "accidentalmente" mencioné JSON y hablé mucho de ello Jaja, ¿me salí del tema? No, la serialización de PHP es muy similar a JSON. Una expresión de serialización de PHP es la siguiente:
Código:
a:3:{s:4:"tipo";s:5:"humano";s:4:"nombre";s:10:"hanguofeng";s:3:"edad";s:2:" 20";}
Su estructura parece algo similar a JSON. De hecho, esta expresión es el resultado serializado de la siguiente matriz:
Código:
$animales =
formación
(
"tipo" => "humano",
"nombre" => "hanguofeng",
"edad" => "20"
);
Bien, la introducción anterior es solo para darle una idea aproximada de qué son la serialización y JSON. No es necesario que se enrede demasiado con el código aquí. Hablaremos en detalle más adelante. utilizar el cambio de serialización.
Por qué
la serialización apareció por primera vez como una conveniencia para la transmisión de datos. Como hice la pregunta al principio de este artículo, creé un objeto en JavaScript. Ahora quiero guardar este objeto en la base de datos del lado del servidor. De hecho, se trata de "cómo envío un objeto desde el navegador al servidor". Durante este proceso de transmisión, sabemos que en realidad solo se puede transmitir el flujo de caracteres. El flujo de caracteres es unidimensional (plano). Pero muchos objetos son multidimensionales. Si el objeto a transferir es una cadena, es muy simple. Podemos usarlo directamente como contenido transferido. Si el objeto a transferir es una matriz u otra estructura. Necesito usar caracteres para describirlo, por ejemplo, en el teléfono, si te pregunto cómo te llamas, me dirás que tu nombre es Zhang San o Li Si, y si te pregunto, cómo te ves. , necesitas usar palabras. Me explicaron que el medio a través del cual transmitimos datos es a menudo el mismo que esta línea telefónica, que solo puede transmitir flujos de caracteres, y el proceso mediante el cual describimos objetos es en realidad un proceso de serialización. .
Además, la serialización también se puede utilizar para el almacenamiento persistente de objetos. Tal vez usted, como yo, alguna vez pensó en almacenar un objeto en un determinado campo de la base de datos. Ahora podemos hacer esto de manera muy simple y no es necesario que su campo de base de datos. para configurarlo en un formato especial, simplemente configúrelo en varchar (por supuesto, si el objeto es grande, es posible que deba configurarlo en texto).
Cómo
sintaxis de serialización de PHP
Bien, creo que has entendido las preguntas de qué y por qué. Al final de esta sección, hablaremos de algo más teórico, es decir, cómo usar PHP para serializar y deserializar datos, cómo serializar JavaScript. objetos (es decir, cambiarlos al formato JSON) y cómo deserializarlos. Finalmente, cómo establecer una relación entre JSON y la serialización de PHP.
PHP nos proporciona dos funciones para operaciones de serialización y deserialización. Estas dos funciones son: serialize() y unserialize(). Son adecuadas para PHP4 y PHP5. Se explican a continuación:
serialize()
(PHP 4, PHP 5, PECL axis2. :0.1.0-0.1.1)
serializar: obtiene una
cadena
de valor de representación almacenableserializar (valor $ mixto)
Obtenga un valor de representación almacenable. Esta función se utiliza para almacenar o transferir estructuras y valores de variables PHP sin pérdidas.
Si necesita convertir el valor serializado nuevamente a una variable PHP, puede usar la función unserialize().
Valor
del parámetro
Es decir, la expresión que se serializa. serialize() maneja todos los tipos excepto punteros de recursos, e incluso puedes serializar una matriz que contenga elementos que apunten a sí misma. Las matrices u objetos que serialice y que contengan punteros de bucle aún se almacenarán, pero los demás punteros se perderán.
Al serializar un objeto, PHP intenta llamar primero a su función miembro __sleep(). Esto permitirá cosas como la limpieza final antes de serializar el objeto. De manera similar, cuando el objeto se restaura usando la función unserialize(), se llamará a la función miembro __wakeup().
El valor de retorno
devuelve una cadena que contiene una expresión de flujo de bytes del objeto que se puede almacenar en cualquier lugar.
unserialize()
(PHP 4, PHP 5, eje PECL2:0.1.0-0.1.1)
obtiene
un valor de variable PHP a partir de una expresión almacenada
mixta unserialize (cadena $str)
unserialize() toma un tipo simple de variable serializada y la convierte nuevamente en un valor de variable PHP.
Parámetro
str
cadena serializada Si la variable deserializada es un objeto, después de restaurar exitosamente la estructura del objeto, PHP intentará automáticamente ejecutar la función miembro __wakeup() del objeto (si existe).
Directiva unserialize_callback_func: puede configurar la función de devolución de llamada para que se ejecute durante este proceso, si se debe crear una instancia de una clase no definida durante la deserialización (para evitar obtener un objeto incompleto "__PHP_Incomplete_Class"). Puede utilizar php.ini, ini_set() o .htaccess para definir "unserialize_callback_func". Se llama cuando se crea una instancia de una clase indefinida. Para desactivar esta función, simplemente configúrela en vacío.
El valor de retorno
devuelve el valor convertido, que puede ser una variable booleana, un número real, un número de punto flotante, una cadena, una matriz u un objeto.
Si la cadena entrante no se puede deserializar, se devuelve FALSE y se genera un error de AVISO.
(Lo anterior está traducido del manual de PHP)
Serialización y deserialización de
la matrizde instancias de serialización de PHP
. Bien, aprendamos con un ejemplo. Primero, cree el archivo sample1.php. Usamos la siguiente declaración en este archivo. matriz:
Código:
<?php
$animales =
formación
(
"tipo" => "humano",
"nombre" => "hanguofeng",
"edad" => "20"
);
?>
Para probar el valor de esta matriz, puede usar la función print_r() para generar la matriz. Los resultados de salida son los siguientes:
Código:
Formación
(
[tipo] => humano
[nombre] => hanguofeng
[edad] => 20
)
Entonces serialicémoslo. El código de serialización es el siguiente:
Código:
<?php
$animales =
formación
(
"tipo" => "humano",
"nombre" => "hanguofeng",
"edad" => "20"
);
$animal_ser=serialize($animal);
echo($animal_ser);
?>
Aquí serializamos la matriz $animal, guardamos la cadena serializada devuelta en la variable $animal_ser y la generamos. El resultado de salida es:
Código:
a:3:{s:4:"tipo";s:5:"humano";s:4:"nombre";s:10:"hanguofeng";s:3:"edad";s:2:" 20";}
Simplemente analicemos esta cadena:
a:3 indica que se trata de un objeto de matriz (a), que tiene tres objetos integrados (3)
La parte dentro de las llaves es una lista de expresiones de objetos separadas por comas. Tomando s:4:"tipo" como ejemplo, representa una cadena con una longitud de 4 dígitos (4) y un valor de "tipo". , esa es la clave del primer elemento de la matriz hash.
No entraremos en detalles en las siguientes partes. Puede intentar serializar varios objetos usted mismo y ver cómo se construye la cadena serializada.
Veamos la deserialización de la matriz, es decir, restaurar la cadena serializada que generamos anteriormente en una matriz. El código es el siguiente:
Código:
<?php
$animal_ser='a:3:{s:4:"tipo";s:5:"humano";s:4:"nombre";s:10:"hanguofeng";s:3:"edad";s :2:"20";}';
$animal = unserialize($animal_ser);
print_r($animales);
?>
En la primera línea, asumimos que el valor de $animal_ser es la cadena serializada obtenida anteriormente. En la segunda línea, la cadena se restaura a la matriz inicial y se asigna a $animal. Finalmente, se genera la matriz $animal. time La salida es la misma que la salida de la matriz original al comienzo de esta sección, es decir:
código:
Formación
(
[tipo] => humano
[nombre] => hanguofeng
[edad] => 20
)
De esta forma hemos completado la deserialización del array.
Ampliar conocimientos: serialización y deserialización de objetos personalizados
La serialización de matrices es una operación básica. Sin embargo, en la programación real, a menudo podemos serializar otros tipos de variables, como los objetos personalizados que se serializan. Aquí hay una clase A escrita por nosotros mismos (guardada en classa). .inc):
Código:
<?php
clase A {
var $uno = 1;
función mostrar_uno() {
echo $este->uno;
}
}
?>
Creamos una instancia de la clase y serializamos la instancia en el siguiente código:
Código:
<?php
incluir("classa.inc");
$a=nueva A;
echo(serializar($a));
?>
El contenido de salida en este momento es:
código:
O:1:"A":1:{s:3:"uno";i:1;}
En general, esta cadena serializada genera el estado actual del objeto, es decir, el valor de i es 1. Analicemos los detalles uno por uno. O:1: Dado que la variable actual es un objeto personalizado, el carácter característico es "O", que significa Objeto. La siguiente "A" identifica de qué clase es una instancia la variable, aquí es la clase A. Dentro de las llaves están los nombres y valores de cada atributo de la instancia. Luego lo deserializamos:
Código:
<?php
incluir("classa.inc");
$s = 'O:1:"A":1:{s:3:"uno";i:1;}';
$a = deserializar($s);
$a->mostrar_uno();
?>
En este momento, se genera "1", es decir, se llama al método show_one () de la clase A. Puede notar que aunque la cadena serializada de la instancia no contiene el método de clase, aún podemos llamar al método de clase después de deserializarlo. Esta característica es compatible con PHP4 y superiores (por supuesto, debe incluir el archivo de definición de clase). classa.inc).
Nota: Puede consultar la sección Referencia del lenguaje->Clases y objetos->Serialización de objetos - objetos en sesiones del manual de PHP.
Serialización a JSON en JavaScript: usando json2.js
No existe un método integrado para serializar objetos directamente en JavaScript. Por supuesto, puede escribir uno usted mismo, pero aún así le recomiendo que sea perezoso y utilice componentes JSON ya preparados. El sitio web oficial www.json.org proporciona una biblioteca de códigos para la serialización JSON de objetos JavaScript: json2.js, que puede obtener desde aquí.
Después de obtener el archivo json2.js, puede abrir este archivo. La primera parte del archivo contiene una cantidad considerable de información de comentarios. Si su inglés es lo suficientemente bueno, puede omitir esta sección y simplemente consultar los comentarios del archivo. Bien, si como programador has visto suficientes letras y quieres ver mis caracteres chinos + letras, entonces puedes continuar hacia abajo.
Simplemente traduzca este comentario: consulte http://www.JSON.org/js.html. Este archivo crea un objeto global JSON que contiene dos métodos
.
JSON.stringify (valor, lista blanca)
valorar cualquier valor de JavaScript, generalmente un objeto o matriz
lista blanca Un parámetro de matriz opcional utilizado para determinar cómo se serializa el valor del objeto. Este método genera texto JSON a partir de un valor de JavaScript. Al serializar, existen tres posibilidades según la lista blanca de parámetros opcionales:
Si un objeto tiene un método toJSON, llame a este método y se serializará el valor de retorno del método toJSON.
De lo contrario, si el parámetro de lista blanca opcional es una matriz, los elementos de la matriz se utilizarán para seleccionar los miembros del objeto para la serialización.
De lo contrario, si no se utiliza el parámetro de lista blanca, se serializarán todos los miembros del objeto.
Si un valor no tiene representación JSON, como indefinido o una función, no se serializará. En los objetos, dichos valores se ignorarán y en las matrices se reemplazarán por nulos.
JSON.stringify(indefinido) devolverá indefinido. La fecha se serializará según la fecha ISO citada.
Ejemplo:
código:
var texto = JSON.stringify(['e', {pluribus: 'unum'}]);
//el texto es '["e",{"pluribus":"unum"}]'
JSON.parse (texto, filtro)
Este método analiza un texto JSON y genera un componente o matriz, lo que puede generar una excepción SyntaxError.
El parámetro de filtro opcional es una función que filtra y transforma los resultados. Acepta cada clave y valor, y su valor de retorno se utiliza para reemplazar el valor de origen. Si devuelve el valor recibido, el resultado no cambia. Si devuelve indefinido, el miembro será eliminado.
Ejemplo:
código:
//Analiza el texto y si una clave contiene la cadena "fecha", convierte su valor a una fecha
myData = JSON.parse(texto, función (clave, valor) {
return key.indexOf('fecha') >= 0 nueva Fecha(valor): valor;
});
El tutorial introductorio anterior le ha brindado una comprensión básica de cómo usar json2.js. No entraré en detalles sobre este archivo aquí. Solo tengo un pequeño consejo. Si simplemente desea analizar un texto JSON, puede usar eval. () Función, la función es una función incorporada de JavaScript. Por ejemplo, para analizar el texto JSON generado en el caso de JSON.stringify, puede usar:
código:
var miE = eval('["e",{"pluribus":"unum"}]');
para obtener el objeto myE.
Serializar a JSON en JavaScript: use prototipo.js
Si es como yo y le gusta usar marcos de JavaScript de código abierto en sus proyectos, entonces puede omitir el uso del archivo json2.js. Aquí prototipo.js es, por ejemplo, este. El archivo se puede descargar en http://www.prototypejs.org . Dado que este artículo no trata sobre el marco de JavaScript, supongo que ya tiene algunos conocimientos sobre el uso de prototipo.js.
prototipo.js proporciona el método toJSON para objetos Object. Puede utilizar el método Object.toJSON() para lograr la serialización de objetos, por ejemplo:
código:
var gato=
{
nombre: "hola gatito",
altura:"6 manzanas"
}
alerta(Object.toJSON(cat));
//Aparecerá un cuadro de diálogo con el contenido {"name": "hellokitty", "height": "6 apples"}
Además, hay soporte JSON adicional en prototipo.js, principalmente el análisis del contenido JSON en la solicitud de devolución Ajax en el objeto Ajax. Esto no tiene nada que ver con nuestro contenido por el momento y no se volverá a presentar.
PHP y JSON
Arriba hemos aprendido sobre el método de serialización de objetos en PHP y el método de serialización de objetos en JSON en JavaScript. Probablemente te preguntarás por qué puse los dos juntos, porque su sintaxis en realidad no es exactamente la misma, sin embargo. en PHP es posible deserializar texto JSON y también es posible serializar objetos PHP a JSON en lugar de texto de estilo PHP. Esto se logra principalmente mediante las dos funciones json_decode y json_encode. Cabe señalar que estas dos funciones solo son compatibles con PHP 5 >= 5.2.0. Si desea escribir un programa que se ejecute en el entorno PHP4, entonces estas dos funciones. no se puede utilizar.
Sintaxis
de la función json_decode
mixta json_decode (cadena $json [, bool $assoc])
Obtenga un texto codificado en JSON y conviértalo al
parámetro
variable PHPjson
Texto codificado JSON
asociado
Cuando es VERDADERO, el valor de retorno es una matriz asociativa.
El valor de retorno
es un objeto, o si el parámetro assoc opcional es VERDADERO, se devolverá una matriz asociativa
cadenade sintaxis
de función json_encode
(valor $ mixto).
valor
de parámetro
de expresión JSON
de un valor
El valor a codificar puede ser cualquier tipo de parámetro excepto recurso. Esta función solo funciona en formato de codificación UTF-8.
Devuelve
el textoJSON
codificado en caso de éxito.
Los dos ejemplos siguientes se basan en uno de nuestros escenarios. Supuesto, es decir, tenemos un módulo de registro de usuario, que funciona de manera "orientada a objetos". En la instancia de la función json_decode, cambiamos la información de registro del usuario a un atributo de clase en primer plano y luego la pasamos al fondo. php (para simplificar, aquí no se utiliza Ajax). En el ejemplo json_encode, hacemos referencia a un archivo js en el archivo html, la dirección apunta al archivo php y generamos el objeto de usuario codificado en json en el archivo php (también por simplicidad, generamos directamente un objeto sin obtener la información de la base de datos) y salida en html.
Bien, primero veamos la página de inicio json_encode.htm. Esta página imita la página de registro habitual. Cuando se envía, se activa la función JavaScript, se genera un objeto de usuario y el contenido del formulario. está configurado como el objeto de usuario, genera texto JSON y lo pasa al archivo json_encode.php de fondo en modo POST. En el archivo js_encode.php, use la función json_decode para analizar el texto JSON en un objeto PHP y generarlo.
Bien, primero echemos un vistazo al archivo json_encode.html. El código del archivo es el siguiente:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=utf-8" />
<título>json_decode</título>
<script src="json2.js" type="text/javascript"></script>
<tipo de script="texto/javascript">
función JSON_test(o){
var usuario = {
nombre:document.getElementById('txt_name').valor,
correo electrónico:document.getElementById('txt_email').valor,
contraseña:document.getElementById('txt_name').valor
}
var json_string = JSON.stringify(usuario);
document.getElementById('txt_json').value=json_string;
alert("Haga clic en Aceptar para enviar el formulario");
o.enviar();
}
</script>
</cabeza>
<cuerpo>
<form id="form1" nombre="form1" método="post" action="json_encode.php" onsubmit="JSON_test(this)">
<label for="txt_name">Nombre</label>
<p>
<tipo de entrada="texto" nombre="txt_name" id="txt_name" />
</p>
<label for="txt_email">Correo electrónico</label>
<p>
<tipo de entrada="texto" nombre="txt_email" id="txt_email" />
</p>
<p>
<label for="txt_password">Contraseña</label>
</p>
<p>
<tipo de entrada="texto" nombre="txt_contraseña" id="txt_contraseña" />
</p>
<p>
<tipo de entrada="texto" nombre="txt_json" id="txt_json" />
<etiqueta para="botón"></etiqueta>
<tipo de entrada="enviar" nombre="botón" id="botón" valor="JSON" />
</p>
</formulario>
</cuerpo>
</html>
Cuando se envía el formulario, se activará la función JavaScript JSON_text(). Esta función primero crea un usuario de objeto JavaScript, establece sus atributos de nombre, correo electrónico y contraseña en los valores del formulario correspondiente y luego usa JSON.stringify. método del archivo json2.js para convertirlo en texto JSON json_string, y finalmente se establece el campo oculto (para que quede claro aquí, muestro este campo oculto en forma de cuadro de texto), el valor de txt_json es json_string, y se envía el formulario.
Luego vaya al archivo json_encode.php, de la siguiente manera:
Código:
<?php
$json_string = $_POST["txt_json"];
if(ini_get("magic_quotes_gpc")=="1")
{
$json_string=stripslashes($json_string);
}
$usuario = json_decode($json_string);
echo var_dump($usuario);
?>
En este archivo, primero obtenga el valor del campo del formulario POST txt_json en el archivo json_encode.html, colóquelo en la variable $json_string y luego juzgue si la configuración actual de PHP es magic_quotes_gpc=On, es decir, las comillas dobles entrantes. se convertirá en significado, de modo que la función json_decode no pueda analizarlo, por lo que debemos eliminar el escape.
,
guárdelo en la variable $user y finalmente use echo var_dump($user) para volcar el objeto.
objeto(clase estándar)#1 (3) {
["nombre"]=>
cadena (10) "hanguofeng"
["correo electrónico"]=>
cadena(18) " [email protected] "
["contraseña"]=>
cadena (10) "hanguofeng"
}
la instancia de la función json_encode
todavía se compone de dos partes, a saber, json_enode.html y json_encode.php. En el archivo json_decode.html, el formulario es básicamente similar al archivo json_decode.html, pero la diferencia es que esta vez queremos obtener el texto JSON del usuario correspondiente del archivo json_encode.php. Veamos este archivo PHP. primero:
Código:
<?php
Usuario de clase {
público $nombre="";
público $correo electrónico="";
pública $contraseña="";
};
$miUsuario = nuevo usuario;
$miUsuario->nombre="hanguofeng";
$miUsuario->correo electrónico=" [email protected] ";
$miUsuario->contraseña="hanguofeng";
$json_string = json_encode($miUsuario);
?>
var usuario = <?php echo($json_string)?>;
Este archivo primero crea la clase usuario, luego obtiene una instancia de la clase de usuario myUser y establece su nombre de usuario, correo electrónico y contraseña. Luego usa la función json_encode para convertirlo en texto JSON, lo guarda en la variable $json_string y finalmente. genera un fragmento de código JavaScript para crear la variable global usuario en JavaScript.
A continuación, debemos introducir el archivo json_encode.php en el archivo json_encode.html y obtener los diversos atributos del objeto de usuario, de la siguiente manera:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=utf-8" />
<título>json_encode</título>
<script src="json_encode.php" tipo="texto/javascript"></script>
</cabeza>
<cuerpo>
<formulario id="form1" nombre="form1" método="publicación">
<label for="txt_name">Nombre</label>
<p>
<tipo de entrada="texto" nombre="txt_name" id="txt_name" />
</p>
<label for="txt_email">Correo electrónico</label>
<p>
<tipo de entrada="texto" nombre="txt_email" id="txt_email" />
</p>
<p>
<label for="txt_password">Contraseña</label>
</p>
<p>
<tipo de entrada="texto" nombre="txt_contraseña" id="txt_contraseña" />
</p>
</formulario>
<tipo de script="texto/javascript" >
document.getElementById('txt_name').value=usuario.nombre;
document.getElementById('txt_email').value=usuario.email;
document.getElementById('txt_password').value=usuario.contraseña;
</script>
</cuerpo>
</html>
En este archivo, debes prestar atención a dos puntos. El primero es que presentamos el archivo json_encode.php como un archivo JavaScript con este código:
Código:
<script src="json_encode.php" tipo="texto/javascript"></script>
El segundo punto es:
Agregamos código JavaScript después del código del cuadro de texto, operamos el atributo de valor del cuadro de texto y establecemos su valor en el valor correspondiente del objeto de usuario.