0

次のエラーがあります。

Exception in thread "main" java.lang.RuntimeException: java.net.MalformedURLException: no protocol: url at test.getJsonFromUrl(test.java:67) at test.main(test.java:75) Caused by: java.net.MalformedURLException: no protocol: url ...

そして、これは私の完全なコードです:

import java.io.Reader;
import java.net.URL;
import com.google.gson.*;
import java.io.IOException;
import java.io.InputStreamReader;

public class test {

public static String getJsonFromUrl(String url){
Gson gson = new GsonBuilder().create();
try{
    Reader reader = new InputStreamReader(new URL("url").openStream());
    gson.fromJson(reader, String.class);

}catch(IOException e){
        throw new RuntimeException(e);

}

    return gson.toString();
}

public static void main(String[] args) {
    String json = getJsonFromUrl("https://api.kraken.com/0/public/Assets?asset=XBT");
    System.out.println(json);

    }

}

ブラウザで URL をコピーすると、JSON コンテンツが表示されるため、どこに問題があるのか​​ わかりません... URL だと思いますか? どうすれば修正できますか?

4

3 に答える 3

1

変数ではなく、文字列リテラルを使用しています...

new URL("url").openStream()

する必要があります

new URL(url).openStream()

引用符に注意してください。これは、何かを文字列として解釈する必要があることを示しています

于 2016-12-18T18:44:15.583 に答える
0

次の行は正しくありません

gson.fromJson(reader, String.class);

最初のパラメーターは、リーダー オブジェクトではなく stringify json です。

2 番目のパラメーターは、String クラスではなくモデル クラスです。

于 2016-12-18T18:47:31.437 に答える