In JSON [] means array or list and {} means object or map. So you do have a
list of maps in the jSON which is what you see in Java.
Sorry it wasn't clear but I means java.util.List not com.codename1.ui.List.
If you fix your import the code I posted above should work.
On Wednesday, June 2, 2021 at 6:06:04 AM UTC+3 [email protected] wrote:
> Hi,
>
> In with a JSON validator on the internet I put the URL that I am using:
>
> http://3.12.118.139:8091/scriptcase/app/tempus/blank_ws_autenticar/blank_ws_autenticar.php?usuario=demo1&contrasena=123
>
> I was able to verify that the ws is working well as the validation
> resulted in:
> [ { "usuario_id":"17", "usuario":"demo1", "nombre_empresa":"Embutidora
> Nacional", "impuesto":"7", "menu_id":"1", "dispositivo_id":"4",
> "lee_huella":"1", "imei":"55555", "numero_telefono":"64237770", "correo":"
> [email protected]", "nombre":"Usuario Embutidos", "radio":"300",
> "fuente_inventario":"A", "permite_cambiar_foto":"1", "inicio_sesion":"1",
> "rango_inicio":"100001", "rango_fin":"150000", "secuencia_orden":"100054",
> "estado":"A", "token":"0a5b3d4a-5b8f-443d-af8e-cfb4100b71c4" }]
>
> For some reason that I do not understand, I am resiving it as a list and
> therefore my problem must be with the client. The method to receive is:
>
> public static void login(Idioma idioma, String usuario, String contrasena,
> final SuccessCallback<Usuario> onSuccess, final FailureCallback<Object>
> onError) {
> Rest.get(SERVER_URL +
> "blank_ws_autenticar/blank_ws_autenticar.php").
> acceptJson().
> queryParam("contrasena", contrasena).
> queryParam("usuario", usuario).
> getAsJsonMapAsync(new Callback<Response<Map>>() {
>
> @Override
> public void onSucess(Response<Map> value) {
> usr = new Usuario();
> PreferencesObject.create(usr).bind();
>
> usr.getPropertyIndex().populateFromMap(value.getResponseData());
>
> onSuccess.onSucess(usr);
> }
>
> @Override
> public void onError(Object sender, Throwable err, int
> errorCode, String errorMessage) {
> onError.onError(null, err, errorCode,
> errorMessage);
> }
> });
> }
>
> I appreciate you pointing out what I'm doing wrong.
> Thanks
>
>
> El Tuesday, June 1, 2021 a la(s) 9:01:21 PM UTC-5, [email protected]
> escribió:
>
>> Hi,
>>
>> Return error in List entries = (List)responseMap.get("data");
>>
>> java.lang.ClassCastException: class java.util.ArrayList cannot be cast to
>> class com.codename1.ui.List (java.util.ArrayList is in module java.base of
>> loader 'bootstrap'; com.codename1.ui.List is in unnamed module of loader
>> com.codename1.impl.javase.ClassPathLoader @5d5eef3d)
>> at com.innova507.server.UsuarioService$1.onSucess(UsuarioService.java:84)
>> at com.innova507.server.UsuarioService$1.onSucess(UsuarioService.java:68)
>> at
>> com.codename1.io.rest.RequestBuilder$6.actionPerformed(RequestBuilder.java:582)
>> at
>> com.codename1.io.rest.RequestBuilder$6.actionPerformed(RequestBuilder.java:567)
>> at
>> com.codename1.ui.util.EventDispatcher.fireActionSync(EventDispatcher.java:459)
>> at
>> com.codename1.ui.util.EventDispatcher.access$100(EventDispatcher.java:45)
>> at
>> com.codename1.ui.util.EventDispatcher$CallbackClass.run(EventDispatcher.java:95)
>> at com.codename1.ui.Display.processSerialCalls(Display.java:1365)
>> at com.codename1.ui.Display.edtLoopImpl(Display.java:1307)
>> at com.codename1.ui.Display.mainEDTLoop(Display.java:1189)
>> at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
>> at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
>>
>> El Tuesday, June 1, 2021 a la(s) 8:45:43 PM UTC-5, Shai Almog escribió:
>>
>>> Hi,
>>> It's a bit hard to read in this way but it looks like the server returns
>>> a list of users.
>>> So you would need something like this:
>>> Map responseMap = value.getResponseData();
>>> List entries = (List)responseMap.get("data");
>>> usr.getPropertyIndex().populateFromMap((Map)entries.get(0));
>>>
>>> On Tuesday, June 1, 2021 at 6:49:12 AM UTC+3 [email protected] wrote:
>>>
>>>> Hi,
>>>>
>>>> In debug the value value.getResponseData () is:
>>>> [image: Muestra.png]
>>>> I have "*usuario*" class that implements PropertyBusinessObject to
>>>> receive interaction "0" (see image).
>>>>
>>>> When I try to receive the fields from the class they are in null (
>>>> *usr.getPropertyIndex().populateFromMap(value.getResponseData())*; ).
>>>>
>>>> Thanks
>>>>
>>>> El Monday, May 31, 2021 a la(s) 8:45:59 PM UTC-5, Shai Almog escribió:
>>>>
>>>>> Hi,
>>>>> It's hard to tell. Is the printout of data related to
>>>>> value.getResponseData()?
>>>>> What are the fields of User?
>>>>> How does it fail? Is the user object not set?
>>>>> If you step over it with a debugger is it set for a short while?
>>>>>
>>>>> On Monday, May 31, 2021 at 7:14:58 PM UTC+3 [email protected] wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to consume a webservice using the restful API. It
>>>>>> correctly returns the information I request:
>>>>>>
>>>>>> data => [{usuarioid=17, usuario=demo1, nombreempresa=Embutidora
>>>>>> Nacional, impuesto=7, menuid=1, dispositivoid=4, leehuella=1,
>>>>>> imei=55555,
>>>>>> [email protected], nombre=Usuario Embutidos, radio=300,
>>>>>> fuenteinventario=A, permitecambiarfoto=1, iniciosesion=1,
>>>>>> contrasena=202cb962ac59075b964b07152d234b70, rangoinicio=100001,
>>>>>> rangofin=150000, secuenciaorden=100054, estado=A,
>>>>>> token=0a5b3d4a-5b8f-443d-af8e-cfb4100b71c4}]
>>>>>>
>>>>>> To consume I do the following:
>>>>>>
>>>>>> public static void login(Idioma idioma, String usuario, String
>>>>>> contrasena, final SuccessCallback<Usuario> onSuccess, final
>>>>>> FailureCallback<Object> onError) {
>>>>>> Rest.get(SERVER_URL +
>>>>>> "blank_ws_autenticar/blank_ws_autenticar.php").
>>>>>> acceptJson().
>>>>>> queryParam("contrasena", contrasena).
>>>>>> queryParam("usuario", usuario).
>>>>>> getAsJsonMapAsync(new Callback<Response<Map>>() {
>>>>>>
>>>>>> @Override
>>>>>> public void onSucess(Response<Map> value) {
>>>>>> usr = new Usuario();
>>>>>> PreferencesObject.create(usr).bind();
>>>>>> *
>>>>>> usr.getPropertyIndex().populateFromMap(value.getResponseData())*;
>>>>>> onSuccess.onSucess(usr);
>>>>>> }
>>>>>>
>>>>>> @Override
>>>>>> public void onError(Object sender, Throwable err,
>>>>>> int errorCode, String errorMessage) {
>>>>>> onError.onError(null, err, errorCode,
>>>>>> errorMessage);
>>>>>> }
>>>>>> });
>>>>>> }
>>>>>>
>>>>>> I cannot pass the information through the property "populateFromMap"
>>>>>> What is the correct way to do it?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>
--
You received this message because you are subscribed to the Google Groups
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/codenameone-discussions/8f0c1319-367c-482c-bf3d-ae35164cd08bn%40googlegroups.com.