Mostrando entradas con la etiqueta JSON. Mostrar todas las entradas
Mostrando entradas con la etiqueta JSON. Mostrar todas las entradas
Ajax: llamar a un PHP que devuelve un JSON de un array asociativo
generarJSON.php:
getJSONFromPHP.php:
También lo puedes hacer:
OJO: Nunca poner en el datatype del Ajax que es JSON (pq no es propiamente un json)
$arr = array("1939" => "Lo que el viento se llevó", "1940" => "Las uvas de la ira", "1941" => "Ciudadano Kane");
echo json_encode($arr);
getJSONFromPHP.php:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
</head>
<body>
<script>
$.ajax({
async: false,
type: "POST",
url: "generarJSON.php",
data: {
},
success: function(data) {
$.each(data, function(key, val) {
console.log(key);
console.log(val);
});
},
error: function(data){
}
});
</script>
</body>
</html>
También lo puedes hacer:
success: function(data) {
arr = $.parseJSON(data); // lo convierte a Array
...
}
OJO: Nunca poner en el datatype del Ajax que es JSON (pq no es propiamente un json)
Ajax: Leer directamente fichero JSON
peliculas.json:
getJSON.php:
Otra forma de recorrer un json (creado a partir de un array asociativo) sería:
[
{
"titulo": "Lo que el viento se llevó",
"director": "Victor Fleming",
"anno": "1939"
},
{
"titulo": "Rebeca",
"director": "Alfred Hitchcock",
"anno": "1940"
},
{
"titulo": "Qué verde era mi valle",
"director": "John Ford",
"anno": "1941"
}
]
getJSON.php:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
</head>
<body>
<script>
$.getJSON("peliculas.json", function( data ) {
$.each(data, function(key, val) {
// console.log(key);
// console.log(val);
console.log(val["titulo"]);
console.log(val["director"]);
console.log(val["anno"]);
});
});
</script>
</body>
</html>
Otra forma de recorrer un json (creado a partir de un array asociativo) sería:
html = '';
for(item of datosAux){
html += "<li>Fecha: "+item.fecha+" - "+item.valor+"</li>";
}
$("#result").html(html);
JSON: Crear una cadena json mediante PHP
$data = array("1" => "James Stewart", "2" => "Gary Cooper", "3" => "James Cagney");
$jsontext = "[";
foreach($data as $key => $value) {
$jsontext .= "{valor: '".addslashes($key)."', texto: '".addslashes($value)."'},";
}
$jsontext = substr_replace($jsontext, '', -1); // quitar la última coma
$jsontext .= "]";
$jsontext = "[";
foreach($data as $key => $value) {
$jsontext .= "{valor: '".addslashes($key)."', texto: '".addslashes($value)."'},";
}
$jsontext = substr_replace($jsontext, '', -1); // quitar la última coma
$jsontext .= "]";
JSON: Detectar si una cadena JSON está bien escrita
// json correcto
$json[] = '{"Uno": "12345"}';
// json incorrecto al usar comillas simples dentro
$json[] = "{'uno': '12345'}";
foreach ($json as $string) {
echo "Decodificando la cadena: ". $string."<br>";
json_decode($string);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo "No hay ningún error. Todo correcto<br>";
break;
case JSON_ERROR_DEPTH:
echo ' - La cadena ha excedido el máximo permitido<br>';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - JSON con formato incorrecto o inválido <br>';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Inesperado carácter encontrado<br>';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error en el JSON<br>';
break;
case JSON_ERROR_UTF8:
echo ' - Error UTF8: Posible codificación incorrecta<br>';
break;
default:
echo ' - Error Desconocidos<br>';
break;
}
}
$json[] = '{"Uno": "12345"}';
// json incorrecto al usar comillas simples dentro
$json[] = "{'uno': '12345'}";
foreach ($json as $string) {
echo "Decodificando la cadena: ". $string."<br>";
json_decode($string);
switch (json_last_error()) {
case JSON_ERROR_NONE:
echo "No hay ningún error. Todo correcto<br>";
break;
case JSON_ERROR_DEPTH:
echo ' - La cadena ha excedido el máximo permitido<br>';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - JSON con formato incorrecto o inválido <br>';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Inesperado carácter encontrado<br>';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntax error en el JSON<br>';
break;
case JSON_ERROR_UTF8:
echo ' - Error UTF8: Posible codificación incorrecta<br>';
break;
default:
echo ' - Error Desconocidos<br>';
break;
}
}
JSON: Serializar: Convertir un array a una cadena, y viceversa
<?php
$arr = array('a' => 1, 'b' => 22, 'c' => 333, 'd' => 4444, 'e' => 55555);
$texto = json_encode($arr);
echo $texto."<br>";
$newArr = json_decode($texto);
print_r($newArr);
// para acceder a cada una de las variables
echo "<br>";
echo "a vale:".$newArr->a."<br>";
echo "c vale:".$newArr->c."<br>";
// Sacar todos los valores
foreach ($newArr as $clave=>$valor) {
echo $clave." vale ".$valor."<br>";
}
?>
$arr = array('a' => 1, 'b' => 22, 'c' => 333, 'd' => 4444, 'e' => 55555);
$texto = json_encode($arr);
echo $texto."<br>";
$newArr = json_decode($texto);
print_r($newArr);
// para acceder a cada una de las variables
echo "<br>";
echo "a vale:".$newArr->a."<br>";
echo "c vale:".$newArr->c."<br>";
// Sacar todos los valores
foreach ($newArr as $clave=>$valor) {
echo $clave." vale ".$valor."<br>";
}
?>
Suscribirse a:
Entradas (Atom)
