Podría decirme cuál es el uso de JSON (en Javascript y PHP). cuando necesitamos un método JSON.¿Dónde/cuándo usamos JSON?
He leído desde el siguiente enlace, pero no recibí ninguna información sobre la implementación de JSON en ningún proyecto.
Podría decirme cuál es el uso de JSON (en Javascript y PHP). cuando necesitamos un método JSON.¿Dónde/cuándo usamos JSON?
He leído desde el siguiente enlace, pero no recibí ninguna información sobre la implementación de JSON en ningún proyecto.
JSON es un formato de intercambio de datos de peso ligero (pensar en él como XML en una dieta). Básicamente, cualquier lugar donde pueda usar XML para serializar datos puede usar JSON en su lugar.
JSON es solo un formato de datos. Si necesita almacenar o transportar datos que no son más complicados que una serie anidada de pares nombre-valor, cuyos valores son compatibles con el estándar JSON, entonces JSON podría ser el formato de datos correcto para su proyecto.
Si su proyecto tenía almacenamiento de datos/necesidades de transporte;)
pesar de su nombre, uno de los usos principales del formato JSON está en AJAX desarrollo web (aunque ciertamente no el único). A menudo se prefiere sobre el XML tradicional por su sintaxis ligera.
JSON es un formato de intercambio de datos relativamente liviano (al menos en comparación con XML o HTML) y es más útil cuando se intercambian pequeñas cantidades de datos entre un cliente web y un servidor/servicio web.
Sin embargo, no es la mejor opción (aunque es mucho mejor que XML) para intercambiar grandes listas de datos, debido a su sobrecarga por fila intercambiada.
JSON es el formato de datos utilizado en la transmisión de datos. Se usa principalmente en llamadas Javascript AJAX.
La estructura de JSON es simplemente un nombre entre corchetes: pares de valores. Debido a su naturaleza compacta y simplicidad, es una mejor estructura para la transmisión de conjuntos de datos relativamente pequeños y cosas que se pueden agrupar en pares nombre: valor.
Por ejemplo:
Un prototype.js Ajax transformadora llamada y recepción de datos JSON:
my_prototype_class = Class.create();
my_prototype_class.prototype = {
initialize: function() {
this.myarray = new Array();
//do initialization
},
my_function: function(direction){
new Ajax.Request('/my/url.php',
{
method: 'post',
parameters: { name: value,
myarray_data: this.myarray.toJSON() },
onSuccess: function(transport) {
var response = transport.responseText.evalJSON();
//handle response
},
onFailure: function(){
//handle failure
}
});
}
}
Event.observe(window, "load", function(){new my_prototype_class();}, false);
Y el uso de PHP que le resuelva la solicitud con algo como esto:
function my_php_handler()
{
#parse POST data
$name = $_POST["name"];
$myarray_data = $_POST["myarray_data"];
#transform the data in some way
#return encoded string
echo json_encode($results);
}
Algo como:
[{"myarray": [], "name": value}]
serán pasados por alto en la solicitud/respuesta http. Los datos en este formato se llaman JSON.
JSON se utiliza principalmente como una alternativa legible y más humana a XML en aplicaciones web AJAX.
Sugeriría utilizar JSON si necesita manipular los datos recuperados (es decir, mediante una llamada Ajax en su navegador) con código JavaScript. En tal caso, JSON es muy cómodo ya que puede cargarlo directamente en su JavaScript y usarlo (por lo tanto, Java Script Object Notation => JSON). Esto se denomina deserialización de una cadena JSON en objetos JavaScript. Se puede hacer mediante el uso de eval(), que sin embargo, como leo, plantea algunos problemas de seguridad, por lo que se debe usar un serializador JSON (de).
Como se describe en la page se ha mencionado usted tiene alguna cadena JSON como
{"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
}
que se envían por la red, iniciada por algunos de llamada de Ajax en el cliente, donde entonces una devolución de llamada se invoca como (es decir, en .Net)
function onSuccess(result){
var myObj = Sys.Serialization.JavaScriptSerializer.deserialize(result, false);
myObj.bindings[0].ircEvent...
}
la ventaja es sólo la serialización fácil (de) junto al uso de JavaScript, sobre todo en el desarrollo web con el Ajax. De lo contrario, no utilizaría JSON sino que confiaría en XML, ya que para las aplicaciones de escritorio hay bibliotecas de análisis realmente potentes.
Todas las otras respuestas son geniales, pero quizás la explicación más simple para su caso específico (JavaScript + PHP): JSON es la forma más fácil de traducir un objeto JavaScript a una matriz asociativa PHP u objeto (y viceversa).
Eche un vistazo a json_encode() y json_decode() para el lado PHP de las cosas. En el lado de JavaScript, una simple eval() es la manera más fácil (pero menos segura) de sacar un objeto de una cadena JSON, pero la biblioteca de su elección ciertamente tendrá funciones para encargarse de esto, y si Estás apuntando a navegadores más nuevos, puedes usar el ECMAScript 5 JSON object.
JSON es un gran formato para pasar datos de un lado a otro entre Javascript y PHP. Mi uso más común es para mensajes de estado.
Aquí hay algo de Javascript para hacer una consulta Ajax a un pequeño script PHP.
new Ajax.Request('dostuff.php', {
method: 'get',
parameters: {'param1': 'this is param 1'},
onSuccess: function(response, jsonHeader){
if(jsonHeader['status'] == 'Success'){
//Everything is OK, do stuff
}else{
alert(jsonHeader['status']);
}
},
onFailure: function(){
alert('Fail!');
}
});
A continuación, en el lado PHP, puede tener algo como esto:
$jsonHeader = array();
if($_REQUEST['param1'])
{
echo '<p>You passed ' . $_REQUEST['param1'] . '</p>';
$jsonHeader['status'] = 'Success';
}else
{
$jsonHeader['status'] = 'Failed because the request was invalid';
}
if(is_array($jsonHeader) and sizeof($jsonHeader) > 0)
{
header('X-JSON: (' . json_encode($jsonHeader) . ')');
}
Lo bueno es que Prototipo decodifica automáticamente la cabecera X-JSON que PHP está creando.
El resultado final es que el argumento del método jsonHeader onSuccess en Javascript se convierte automáticamente en una matriz que son los mismos datos que la matriz $ jsonHeader en PHP
debe ser wiki de la comunidad – SilentGhost
... si no fuera' t un duplicado varias veces – annakata