Como retornar apenas uma informação de um Json via Web Services

3 respostas
Eglison_da_Silva

Galera, eu preciso retornar a distancia de uma rota do google maps, na linguagem java, o Json que o web services me retorna é extremamente grande, e eu preciso apenas da distancia. Se aguem puder me ajudar, postar o código completo para que eu possa estudar, ficarei mto agradecido. Veja o Json que o web service me retorna. Eu só preciso retornar o que está em negrito e italico

{
	"geocoded_waypoints" : [{
		"geocoder_status" : "OK",
		"place_id" : "ChIJt2AQbUWL8pQRalp0lDBMgw4",
		"types" : [ "administrative_area_level_2", "political" ]
	}, {
		"geocoder_status" : "OK",
		"partial_match" : true,
		"place_id" : "ChIJ0WGkg4FEzpQRrlsz_whLqZs",
		"types" : [ "locality", "political" ]
	}],
	"routes" : [{
		"bounds" : {
			"northeast" : {
				"lat" : -22.6369652,
				"lng" : -46.6303943
			},
			"southwest" : {
				"lat" : -24.1991944,
				"lng" : -53.08043610000001
			}
		},
		"copyrights" : "Dados cartográficos ©2017 Google",
		"legs" : [{
			"distance" : {
				"text" : "820 km", // pegar esse valor
				"value" : 820405
			},
			"duration" : {
				"text" : "9 horas 37 minutos",
				"value" : 34612
			},
			"end_address" : "São Paulo, SP, Brasil",
			"end_location" : {
				"lat" : -23.5507845,
				"lng" : -46.6338611
			},
			"start_address" : "Goioerê - PR, Brasil",
			"start_location" : {
				"lat" : -24.1421411,
				"lng" : -53.08043610000001
			},
			"steps" : [{
				"distance" : {
					"text" : "2,4 km",
					"value" : 2358
				},
				"duration" : {
					"text" : "5 minutos",
					"value" : 301
				},
				"end_location" : {
					"lat" : -24.1521877,
					"lng" : -53.0625655
				},
				"html_instructions" : "Siga na direção \u003cb\u003esudeste\u003c/b\u003e",
				"polyline" : {},
				"start_location" : {
					"lat" : -24.1421411,
					"lng" : -53.08043610000001
				},
				"travel_mode" : "DRIVING"
			}, {
				"distance" : {
					"text" : "6,2 km",
					"value" : 6188
				},
				"duration" : {
					"text" : "6 minutos",
					"value" : 378
				},
				"end_location" : {
					"lat" : -24.1991502,
					"lng" : -53.0426203
				},
				"html_instructions" : "Vire à \u003cb\u003edireita\u003c/b\u003e na \u003cb\u003ePR-180\u003c/b\u003e",
				"maneuver" : "turn-right",
				"polyline" : {
					"points" : 
				},
				"start_location" : {
					"lat" : -24.1521877,
					"lng" : -53.0625655
				},
				"travel_mode" : "DRIVING"
			}, {
				"distance" : {
					"text" : "61 m",
					"value" : 61
				},
				"duration" : {
					"text" : "1 min",
					"value" : 12
				},
				"end_location" : {
					"lat" : -24.1994098,
					"lng" : -53.0428857
				},

3 Respostas

Lucas_Camara

Se você estiver obtendo esse JSON através de um código java, você pode usar o GSON e obter apenas a informação que precisa.

Eglison_da_Silva

Então,aí que está a minha dificuldade, eu ja usei essa biblioteca, mas os exemplos que eu pegava na internet, eram exemplos com JSON pequenos, tipo, contendo poucas informações, e aí eu não conseguia resolver meu problema

Lucas_Camara

Com GSON, você terá que montar suas classes para receber esse JSON. Será uma classe que possui uma lista de objetos de nome routes, onde cada objeto dessa lista terá uma outra lista com o nome legs, que, por sua vez, terá o atributo distance que terá o atributo text, que é onde você irá pegar o dado que necessita.

Criado 9 de junho de 2017
Ultima resposta 10 de jun. de 2017
Respostas 3
Participantes 2