如何使用 Java 中的 API 获取特定值或数据
How to get a specific Value or Data using the API in Java
抱歉,如果问题有点简单。我是新手,我目前正在尝试使用网站 API 获取一些值。我会在下面放一个link。这是问题所在。我拥有的代码是网站提供的确切代码。我只想从他们发送的结果中获取 "quote" 值。这是代码:
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);
}
}
这是我在 eclipse 控制台上的结果:
ticks update: {"echo_req":{"ticks":"R_100"},"tick":{"epoch":"1461413058","symbol":"R_100","quote":"37673.45","id":"810945BC-094B-11E6-B438-8E7300DB46A6"},"msg_type":"tick"}
结果很好,但我只想取 "quote" 值,它是一个数值。
这是他们 API 网站/开发网站的 link:https://developers.binary.com/
提前致谢:)
您的回复看起来像一个 JSON 字符串,您应该这样做
@OnMessage
public void onMessage(String message)
JSONObject response = new JSONObject(message);
int quote = Integer.parseInt(response.getString("quote"));
}
抱歉,如果问题有点简单。我是新手,我目前正在尝试使用网站 API 获取一些值。我会在下面放一个link。这是问题所在。我拥有的代码是网站提供的确切代码。我只想从他们发送的结果中获取 "quote" 值。这是代码:
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);
}
}
这是我在 eclipse 控制台上的结果:
ticks update: {"echo_req":{"ticks":"R_100"},"tick":{"epoch":"1461413058","symbol":"R_100","quote":"37673.45","id":"810945BC-094B-11E6-B438-8E7300DB46A6"},"msg_type":"tick"}
结果很好,但我只想取 "quote" 值,它是一个数值。
这是他们 API 网站/开发网站的 link:https://developers.binary.com/
提前致谢:)
您的回复看起来像一个 JSON 字符串,您应该这样做
@OnMessage
public void onMessage(String message)
JSONObject response = new JSONObject(message);
int quote = Integer.parseInt(response.getString("quote"));
}