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