Lendo XML ou JSON de URL

Boa Noite Pessoal!

Desenvolvi um pequeno sistema e quero incrementá-lo com um painel de cotações de moedas da seguinte API [http://api.promasters.net.br/cotacao/]. Mas minha dúvida é de como vou pegar esses dados para jogar em um Jframe. Na api é possível extrair em JSON ou XML.

Você pode usar o que postei aqui: Integração com site

E depois serializar o json recebido…(usa a biblioteca Gson)

Cara, não compreendi muito bem, sou iniciante no quesito de pegar dados de uma determinada URL

Como vou adaptar o json ou xml naquele teu código?

Alguma coisa desse tipo, ai você adapta e dá uma olhada na documentação do Gson se quiser desserializar:

package br.com.julio.console;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map.Entry;
import java.util.Set;

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class Principal {

	private static final String URL_API = "http://api.promasters.net.br/cotacao/v1/valores";

	public static void main(String[] args) {
		HttpURLConnection con = null;
		try {
			URL url = new URL(URL_API);
			con = (HttpURLConnection) url.openConnection();
			con.setRequestMethod("GET");
			con.connect();

			switch (con.getResponseCode()) {
			case 200:
				System.out.println("JSON recebido!");
				String json = getJson(url);

				JsonParser parser = new JsonParser();
				JsonObject obj = (JsonObject) parser.parse(json);

				Set<Entry<String, JsonElement>> el = obj.entrySet();

				for (Entry<String, JsonElement> els : el) {
					if (els.getKey().equals("status")) {
						System.out.println(els.getKey() + ":" + els.getValue().getAsBoolean());
					} else if (els.getKey().equals("valores")) {
						JsonElement e = els.getValue();
						JsonObject jobj = e.getAsJsonObject();
						Set<Entry<String, JsonElement>> props = jobj.entrySet();
						for (Entry<String, JsonElement> prop : props) {
							System.out.println(prop.getKey() + ":" + String.valueOf(prop.getValue()));
						}
					}
				}
				break;
			case 500:
				System.out.println("Status 500");
				break;
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (con != null)
				con.disconnect();
		}

	}

	public static String getJson(URL url) {
		if (url == null)
			throw new RuntimeException("URL é null");

		String html = null;
		StringBuilder sB = new StringBuilder();
		try (BufferedReader bR = new BufferedReader(new InputStreamReader(url.openStream()))) {
			while ((html = bR.readLine()) != null)
				sB.append(html);
		} catch (Exception e) {
			e.printStackTrace();
		}

		return sB.toString();
	}
}

O resultado:

JSON recebido!
status:true
USD:{"nome":"Dólar","valor":3.264,"ultima_consulta":1509563407,"fonte":"UOL Economia - http://economia.uol.com.br/"}
EUR:{"nome":"Euro","valor":3.807,"ultima_consulta":1509630007,"fonte":"UOL Economia - http://economia.uol.com.br/"}
ARS:{"nome":"Peso Argentino","valor":0.1857,"ultima_consulta":1509629409,"fonte":"UOL Economia - http://economia.uol.com.br/"}
GBP:{"nome":"Libra Esterlina","valor":4.2843,"ultima_consulta":1509630008,"fonte":"UOL Economia - http://economia.uol.com.br/"}
BTC:{"nome":"Bitcoin","valor":24180,"ultima_consulta":1509630009,"fonte":"Mercado Bitcoin - http://www.mercadobitcoin.com.br/"}

Ahh sim, entendi. Vou fazer aqui. Obrigado pela ajuda.

Como eu faço para pegar o nome e valor de uma moeda e jogar em uma variavel?

Aqui você pega o nome da chave e o valor. (Por exemplo: nome : Dólar).

Tu não consegue por um exemplo armazenando o valor do dolar em uma variável por exemplo ? Por favor

Tu não consegue por um exemplo armazenando o valor do dolar em uma variável por exemplo ? Por favor