2016-04-23 9 views
0

ご質問が少しシンプルな場合は申し訳ありません。私はこれに新しく、私は現在いくつかの値をフェッチしようとしているウェブサイトのAPIを使用しています。私は下のリンクをドロップします。ここに問題があります。私が持っているコードは、ウェブサイトが提供した正確なコードです。私は彼らから送られた結果だけから "引用"の値を取って欲しいです。ここでは、コードは次のようになります。JavaでAPIを使用して特定の値またはデータを取得する方法

import java.net.URI; 
import java.io.IOException; 
import java.lang.InterruptedException; 
import javax.websocket.*; 

@ClientEndpoint 
public class WSClient { 

@OnOpen 
public void onOpen(Session session) throws java.io.IOException 
{ 
    session.getBasicRemote().sendText("{\"ticks\": \"R_100\"}"); 
} 

@OnMessage 
public void onMessage(String message) 
{ 
    System.out.println("ticks update: " + message); 
} 

public static void main(String[] args) 
    throws IOException, DeploymentException, InterruptedException 
{ 
    WebSocketContainer container = ContainerProvider.getWebSocketContainer(); 
    URI apiUri = URI.create("wss://ws.binaryws.com/websockets/v3"); 
    Session session = container.connectToServer(WSClient.class, apiUri); 
    Thread.sleep(3000); 
} 
} 

そして、ここでは、日食の私のコンソール上の結果である:{ "echo_req":{ "ダニ": "R_100"}、 "ダニ"

更新を刻みます:{"epoch": "1461413058"、 "symbol": "R_100"、 "quote": "37673.45"、 "id": "810945BC-094B-11E6-B438-8E7300DB46A6}}" msg_type ":" tick " }

結果はうまくいきますが、私はちょうど数値である "quote" Valueを取りたいと思います。ここで

は彼らのAPIウェブサイトの/ devウェブサイトへのリンクです:https://developers.binary.com/

あなたの応答はJSON文字列のように見える、事前にありがとう:)

答えて

0

ちょうどこの

@OnMessage 
public void onMessage(String message) 
    JSONObject response = new JSONObject(message); 
    int quote = Integer.parseInt(response.getString("quote")); 
} 
+0

を行う必要があり、私はこれをどこに置くべきですか?私が言及したように、APIを理解することは非常に新しいものです。特にjava – user3380047

+0

onMessageの行をこれで置き換える必要があります。これを機能させるには、org.json.JSONObjectをインポートする必要があります。私のコードのmyAPIresponseをメッセージ変数に置き換えてください。 –

+0

ここに問題があります。 は コードである "(JSONObject.getString(" 引用 "));" "タイプJSONObjectから非静的メソッドのgetString(文字列)をstatic参照できません" これは私が今得ているエラーです – user3380047

関連する問題