Soy totalmente nuevo en el JSON y tras mucho leer al final he conseguido hacer estas primeras pruebas, aunque los resultados no son los esperados, siempre me da error 202,"text":"Not valid JSON structure: Syntax error, malformed JSON
El propietario del webservice me indica lo siguiente
getSessionKey
Este método devuelve la variable session-key necesaria en el resto de las llamadas del webservice.
Parámetros de entrada:
email : Email con el que te diste de alta
passwd : Contraseña del usuario
Ejemplo de Json:
Código:
Parámetros de salida:{
"user": "XXXXXXX",
"parameters": [
{
"email": "[email protected]",
"passwd": "ZZZZ"
}
],
}
session-key Identifcador único de sesión, necesario para todas las llamadas Web Service.
Ejemplo de Json:
Código:
Visto estas indicaciones esto son los dos ejemplos que he realizado{
"errors": [{"code": "0", "text": ""}],
"results": [
{
"session-key": "YYYYYYYYYYYYYYYYYYYYYYYYYY"
}
],
}
EJEMPLO 1
Código:
Con el siguiente resultado <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <?php $data = http_build_query( array( 'email' => '[email protected]', 'passwd' => 'sakf79hdskfoj' ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/json', 'content' => $data ) ); $context = stream_context_create($opts); $json_file = file_get_contents('http://proveedor.com/actions/servicioWS.php?method=getSessionKey', false, $context); $jfo = json_decode($json_file); $session = $jfo->result->session-key; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ejemplo 4</title> <link rel="stylesheet" href="style.css" /> </head> <body> <div class="container"> <h1 class="main_title"><?php echo $session; ?></h1> <div class="content"> <ul class="ul_json clearfix"> <?php echo "sesion ", $session; ?><br/> <?php echo "data ",$data; ?><br/> <?php echo "opts ",$opts; ?><br/> <?php echo "context ", $context; ?><br/> <?php echo "jsonfile ", $json_file; ?><br/> </ul> </div><!-- content --> </div><!-- container --> </body> </html>
sesion 0
data email=email%40mio.com&passwd=sakf79hdskfoj
opts Array
context Resource id #2
jsonfile {"errors":{"code":202,"text":"Not valid JSON structure: Syntax error, malformed JSON.."},"results":""}
Y tras tres dias, no consigo pasar de ahi, siempre error en sintaxis del json,
Otra prueba realizada y con mismo resultado son asi
EJEMPLO 3
Código:
Ha llegado el momento en el que ya no puedo continuar solo, y por eso os pregunto<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
data: {"email": "[email protected]","passwd": "slkjfi93flsld"},
type: "POST",
dataType: "json",
url: "http://proveedor.com/actions/servicioWS.php?method=getSessionKey",
})
.done(function(data, textStatus, session-key) {
if ( console && console.log ) {
console.log( "La solicitud se ha completado correctamente." );
}
})
.fail(function(session-key, textStatus, errorThrown) {
if ( console && console.log ) {
console.log( "La solicitud a fallado: " + textStatus );
}
});
var $session-key = {console.log(session-key)}
var $textStatus = textStatus
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ejemplo 3</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<h1 class="main_title"><?php echo $session-key; ?></h1>
<div class="content">
<ul class="ul_json clearfix">
<?php echo "sesionkey ",$session-key; ?><br/>
<?php echo "textStatus ",$textStatus; ?>
</ul>
</div><!-- content -->
</div><!-- container -->
</body>
</html>
¿Cual de los dos ejemplos es mas correcto?
¿Donde esta el error en el envío de los datos para que siempre me de 202?
Gracias a todos de antemano


