我是Android的新手,我遇到了无法通过服务器通信和JSON解决的问题:
我使用HttpClient类从服务器接收JSON对象,就像我见过的很多例子一样:
//Crear un cliente por defecto
HttpClient mCliente = new DefaultHttpClient();
//Indicar la url
StringBuilder sb = new StringBuilder([SERVER]);
//Establecer la conexión después de indicar la url
HttpPost mPost = new HttpPost(sb.toString());
//Creamos una lista de atributos
List<BasicNameValuePair> paresNombreValor = new ArrayList<BasicNameValuePair>();
//Añadimos los elementos a la lista
paresNombreValor.add(new BasicNameValuePair("operacion", "1")); //Operación Login
paresNombreValor.add(new BasicNameValuePair("email", stringCorreo));
paresNombreValor.add(new BasicNameValuePair("password", stringPass));
//UrlEncodedFormEntity : Codificamos la lista para el envio por post
mPost.setEntity(new UrlEncodedFormEntity(paresNombreValor));
//Ejecutamos la solicitud y obtenemos una respuesta
HttpResponse respuesta = mCliente.execute(mPost);
//Obtenemos el contenido de la respuesta
HttpEntity entity = respuesta.getEntity();
//Convertimos el stream a un String
BufferedReader buf = new BufferedReader(new InputStreamReader(entity.getContent()));
StringBuilder sb1 = new StringBuilder();
String line = null;
while ((line = buf.readLine()) != null) {
sb1.append(line + "\r\n");
}
res = sb1.toString();
if (res != null)
{
JSONArray resultadoJSON= new JSONArray(res); //<-- Here is my problem
...
问题是我收到的JSON比String大,我还没有找到其他方法将接收转换为不使用带内容作为参数的String的JSON。
任何想法?
非常感谢
答案 0 :(得分:0)
如果您想对您的流程执行相同操作,请使用stringbuilder
代替string
答案 1 :(得分:0)
打算将您的输入流转换为字符串使用JsonReader它允许您从Input Stream读取json也有助于节省内存