晚安,
我正在尝试从用JSON编写的Java数据名称的servlet发送到Android中的应用程序。
不是说我做错了,但是当涉及到移动文本时,会出现一个奇怪的文字。
下面我将介绍代码:
的servlet:
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,但它返回一个不包含名称的文本
你看到你做错了吗?
问候和感谢
答案 0 :(得分:0)
您忘了将ResponseHandler
传入HttpClient#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);