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

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
				},

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.

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

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.