2017-01-03 13 views
0

現在、私はjarファイルでこの情報を抽出して、必要な情報をサーバに渡す方法を試しています。Java getString to site

あなたはこのURLをトリガー:

http://ipinfo.io/country 

しかし、私の問題は、それはJSONではありませんので、抽出する方法であるので、リターンは、2変数になります。

try { 
     URL obj = new URL("http://ipinfo.io/country"); 

     HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

     con.setRequestMethod("GET"); 
     con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); 

     con.setDoOutput(true); 
     con.setDoInput(true); 


     int responseCode = con.getResponseCode(); 

     BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 

     String joinString = ""; 
     String decodedString; 
     while ((decodedString = in.readLine()) != null) { 
      joinString = joinString + decodedString; 
     } 
     in.close(); 
     //-- Logging (joinString) & responseCode 
     this.setCountry(new JSONObject(joinString).getString("")); 


    } catch (IOException ex) { 
     Logger.getLogger(RegUserRequest.class.getName()).log(Level.SEVERE, null, ex); 

    } 
+0

文字列のリストにキャストすることができます。 – user1211

答えて

1

http://ipinfo.io/country get要求は、テキスト出力として国コードを返します。

、なぜ単純にやっていない:

BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
String countryCode = in.readLine(); 

を、それが直接データを提供し、あなたが取得するための単一のデータを持っているということならば、なぜあなたはJSONを使用したいのですか?

+0

私たちはSOAP APIを重視しているので、getter/setterを中心に登録目的でJSONをサーバーに渡しています。 – FreedomPride

+0

私は理解していますが、このデータをそのままの方法で取得し、JSONオブジェクトを作成するときにこのデータを使用することができます。 – davidxxx

+0

アプリ側のように未処理のまま、それをデコードするか??私はそれが私の現在のビルドを啓発している場合、それについて知りたいです:) – FreedomPride

0

あなたはでそれを印刷することができます:あなたはGRの文字列はプレーンテキストとしてあなたjoinStringである必要がある場合は

System.out.println(joinString); 

+0

私はそれを解析したい場合、私は文字列を取得することによってそれを設定する必要があります..右か? – FreedomPride

0

これらはJSONと国コードを返すJSON APIを提供します。 しかし、また、彼らは彼らのサービス/ APIを使用してをご紹介するものを検討してください:私たちのAPIの

無料使用量は一日あたり千のAPIリクエストに制限されています。 が24時間以内に1,000リクエストを超えると、ステータスコード429 HTTP が返されます。より多くのリクエストやカスタムデータを作成する必要がある場合は、 の有料プランを参照してください。 (https://ipinfo.io/developers/getting-startedからの引用)

API returning JSON

+0

現在、私たちはそのメソッドを使用しています..しかし、12月19日以降.. jarは空の国コードを返します。それが私が代替案を探す必要がある理由です。 – FreedomPride