Json erro ao tentar gerar Objeto

Estou com meu metodo funcionando corretamente trazendo os dados do web service porem agora quero jogar estes dados em um objeto para poder tratá-los de forma melhor porem os exemplos que vi na internet nao estão legais alguma dica

public static void main(String[] args) throws Exception {
	HttpExemplo http = new HttpExemplo();
	Gson g = new Gson();
	BoletoJuno u = new BoletoJuno();
	Type usuarioType = new TypeToken<BoletoJuno>() {}.getType();
	
	String json = http_Sms();
	u = g.fromJson(json, usuarioType);
	System.out.println(u.getCode());
}

public static String http_Sms(){
	//Properties props = new Properties(); 
	//FileInputStream file;
	//try {
	//	file = new FileInputStream( "C:/Otica/SMS/properties.properties");
	//	props.load(file);
	//} catch (Exception e1) {
	//	TODO Auto-generated catch block
	//	e1.printStackTrace();
	//} 
	
	String url1 = " https://sandbox.boletobancario.com/boletofacil/integration/api/v1/issue-charge?";
	String status = null;
	
	try {
		URL url = new URL(url1);
		HttpURLConnection connection = (HttpURLConnection) url.openConnection();
		connection.setRequestMethod("GET");
		//connection.addRequestProperty("name", "Rodrigo Almeida NAME");
		//connection.addRequestProperty("numbers", "71991438451");
		connection.setDoInput(true);
		connection.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
		
		//http://bemfacil.smswave.com.br/api/v1/send?
		//String urlParameters=parameter;
		String urlParameters ="token=3430DC2B6349796AD3A3515FEB9EDCADE57E45E561E96512CA21CAE9A0F9D5A9&description=Pedido1798&amount=12.75&payerName=jorge reidinaldo&payerCpfCnpj=88200550571";
		//String urlParameters = "numbers="+numeroTelefone+"&messages="+nomeCliente+" "+mensagem+"&cpf="+usuario+"&pwd="+senha ;			
		
		wr.writeBytes(urlParameters);
		wr.flush();
		wr.close();
		BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
		StringBuffer dadosUrl = new StringBuffer();
		String dado = "";
		
		while (null != ((dado = br.readLine()))) {
			//System.out.print(connection.get);
			//System.out.println(dadosUrl.append(dado));
			//System.out.println(dadosUrl.append(dado).substring(11, 12));
			
			//if(dadosUrl.append(dado).equals("status")) {
			//	dadosUrl.append(dado).equals("status");
			//	status=dadosUrl.append(dado).toString();
				System.out.println(dadosUrl.append(dado).toString());
			//	status.append(dado);
				status=dadosUrl.append(dado).substring(11, 12);
			//}
		}
		
		br.close();
		
		//System.out.println(props.getProperty(mensagem));
		//System.out.println(dadosUrl.append(dado)+"teste");
	} catch (MalformedURLException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
	
	return status;
}
{"data":{"charges":[{"code":70000912,"reference":"","dueDate":"18/04/2020","checkoutUrl":"https://pay.sandbox.juno.com.br/checkout/CABD2455247244A9D4E9720E3D4B4C983BA972ED9115338B","link":"https://pay.sandbox.juno.com.br/charge/boleto.pdf?token=705951:m:3febedad9efca32aaeabc8ef395ad4ef0564928778218e1e6e6807416b5ffd9c","installmentLink":"https://pay.sandbox.juno.com.br/charge/boleto.pdf?token=70000912:8c80b199758cff06ff680d499d0eaa20772a13be1fddc57701417c3a97ebb7f5","payNumber":"BOLETO TESTE - Não é válido para pagamento","billetDetails":{"bankAccount":"0655/46480-8","ourNumber":"176/70000912-0","barcodeNumber":"34199822900000012751767000091200655464808000","portfolio":"176"}}]},"success":true}
Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:200)
	at com.google.gson.Gson.fromJson(Gson.java:810)
	at com.google.gson.Gson.fromJson(Gson.java:775)
	at com.google.gson.Gson.fromJson(Gson.java:724)
	at com.google.gson.Gson.fromJson(Gson.java:696)
	at consumindows.HttpExemplo.main(HttpExemplo.java:51)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:387)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:189)
	... 5 more

Essa classe BoletoJuno está com a mesma estrutura do json retornado?