Json

3 respostas
J

Boas pessoal, estou com um problema para retornar uma lista de objetos através de um webservice
para o android, então “andei” pesquisando algumas soluções e achei o tal JSON, é possível fazer um retorno
de uma listas de objetos manipulando o JSON dentro de uma classe Java, sem usar javaScript? ou mesmo usando, o que importa é
funcionar rsrsrs… Pois no app do android, creio que só conseguirei decifrar o código do JSON se for feito em java pois acho que o android não aceita javaScript(eu acho).

Se alguém tiver alguma solução melhor agradeço, no android uso o KSOAP2.

att.

3 Respostas

J

ninguem? rsrsrs…

Marky.Vasconcelos

É possivel sim usar JSON no Android, e ele já tem classes especificas para te ajudar nisso, para pegar o retorno do servidor e parsealo é basicamente o seguinte.

JSONObject obj = new JSONObject();
		obj.put("jsonrpc", "2.0");
		obj.put("method", "getSomething");

		JSONObject auth = new JSONObject();
		auth.put("email", "user");
		auth.put("password", "pass");

		params.put("auth", auth);
		obj.put("params", params);

	int TIMEOUT_MILLISEC = 10000; // = 10 seconds
		HttpParams httpParams = new BasicHttpParams();
		HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
		HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
		HttpClient client = new DefaultHttpClient(httpParams);

		HttpPost request = new HttpPost("endereço");
		try {
			StringEntity entity = new StringEntity(obj.toString());
			entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
					"application/json"));
			request.setEntity(entity);

			ResponseHandler<String> handler = new BasicResponseHandler();
			String returnValue = client.execute(request, handler);
                        JSONObject obj = new JSONObject(returnValue);
                         //Trabalhar com o retorno aqui
		} catch (Throwable e) {
			e.printStackTrace();
		}
J

JSON é muito tranquilo de usar,
valeu Marky.Vasconcelos.

Criado 8 de março de 2011
Ultima resposta 9 de mar. de 2011
Respostas 3
Participantes 2