OBTENER LOS SERVICIOS DE MI CENTRO
Para ello utilizando de nuevo la clase CRestClient:
CRestClient oRestClient = new CRestClient();
String sServices = oRestClient.getServices(«json», true);
sServices=»[«+sServices+»]»;
JSONParser parser=new JSONParser();
JSONArray obj=(JSONArray) parser.parse(sServices);
HashMap hashServices=(HashMap)((JSONObject)obj.get(0)).get(«services»);
if(hashServices.get(«status»).equals(«true»)){
hashServices.remove(«status»);
Iterator it = hashServices.entrySet().iterator();
while(it.hasNext()) {
Map.Entry e = (Map.Entry)it.next();
System.out.println(e.getKey());
System.out.println(e.getValue());
}
}
else{
//error
}
System.out.println(sServices);
}
El valor devuelto en $sServices tras la llamada a getServices es:
Si os fijais tras la llamada a getservices se utiliza la librería simple json para poder acceder de forma cómoda a los datos. Esta librería tenéis que descargarla de aquí (link a http://code.google.com/p/json-simple/)
JSONParser parser=new JSONParser();
Todas las peticiones son devueltas con un campo “status”. Ese campo indica si la petición fué correcta o falló.
En caso de fallo se devuelve un xml o json con el siguiente formato.
En todas las llamadas se devuelve un campo status que indica el resultado de la petición. En caso de que haya un error, dependiendo de si has solicitado la petición en json o en xml se devolverá con el siguiente formato:
<?xml version=’1.0′ encoding=’utf-8′?>
<services>
<status>false</status>
<id>error id</id>
<message>error message</message>
</services>
json
{«services»:
{
«status»:false,
«id»:error id,
«message»:error message
}
}
Si quieres saber más sobre esta función puedes acceder a la referencia completa.