0

晚安,

我正在尝试从用 JSON 中的 Java 数据名称编写的 servlet 发送到 Android 中的应用程序。

并不是说我做错了,但是当涉及到移动文本时,会出现一个奇怪的文本。

下面我描述代码:

小服务程序:

if (opcion.equals("4")){//Devolver nombre, apellidos y DNI de Usuario

        String usuario = request.getParameter("login");
        Usuario user = facade.getUsuarioByLogin(usuario);

        String nombre= user.getNombre();
        String apellidos = user.getApellidos();
        String dni = user.getDni();

        System.out.println("El valor de Nombre es"+nombre);


        response.setContentType("application/json");

        JSONObject json = (JSONObject) JSONSerializer.toJSON( nombre );

        //System.out.println("El valor de json"+json.toString());
        out.println(json);

        out.close();
    }

一段获取 JSON 的 Android 应用程序代码(我忽略了 try catch 以使代码更具可读性):

HttpClient cliente = new DefaultHttpClient();

    HttpPost post = new HttpPost (url.toString());


    ResponseHandler<String> handler = new BasicResponseHandler();

    List<NameValuePair> elementos = ele;


        post.setEntity(new UrlEncodedFormEntity(elementos));

    HttpResponse respuesta = null;

        respuesta = cliente.execute(post);


    Log.i("Prueba", "El valor de respuesta es "+respuesta.toString());

我认为 respuesta 应该有 servlet 发送给我的 JSON,但它返回一个不包含名称的文本

你看到你做错了什么吗?

问候和感谢

4

1 回答 1

0

您忘记将 in 传递ResponseHandlerHttpClient#exeucte()方法。

代替

HttpResponse respuesta = null;
respuesta = cliente.execute(post);
Log.i("Prueba", "El valor de respuesta es "+respuesta.toString());

经过

String respuesta = cliente.execute(post, handler);
Log.i("Prueba", "El valor de respuesta es " + respuesta);
于 2012-05-24T00:10:32.510 回答