
Ayuda leer datos de webserver con json
Publicado por Juanjo (27 intervenciones) el 07/12/2015 12:24:12
Hola a todos
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:
Parámetros de salida:
session-key Identifcador único de sesión, necesario para todas las llamadas Web Service.
Ejemplo de Json:
Visto estas indicaciones esto es lo que he realizado
Con el siguiente resultado
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,
Otras pruebas realizadas y con mismo resultado son asi
EJEMPLO 3
Ha llegado el momento en el que ya no puedo continuar solo, y por eso os pregunto
¿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
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:
1
2
3
4
5
6
7
8
9
{
"user": "XXXXXXX",
"parameters": [
{
"email": "YYYY@YYYY.com",
"passwd": "ZZZZ"
}
],
}
Parámetros de salida:
session-key Identifcador único de sesión, necesario para todas las llamadas Web Service.
Ejemplo de Json:
1
2
3
4
5
6
7
8
{
"errors": [{"code": "0", "text": ""}],
"results": [
{
"session-key": "YYYYYYYYYYYYYYYYYYYYYYYYYY"
}
],
}
Visto estas indicaciones esto es lo que he realizado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<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@mio.com',
'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>
Con el siguiente resultado
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,
Otras pruebas realizadas y con mismo resultado son asi
EJEMPLO 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<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@mio.com","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>
Ha llegado el momento en el que ya no puedo continuar solo, y por eso os pregunto
¿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
Valora esta pregunta


0