如何使用Java中的API获取特定的值或数据

问题描述:

对不起,如果问题有点简单。我是新来的,我目前正在尝试使用网站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); 
} 
} 

这里是在eclipse我控制台结果:

蜱更新:{ “echo_req”:{ “蜱虫”: “R_100”}, “嘀” :{ “历元”: “1461413058”, “符号”: “R_100”, “引用”: “37673.45”, “ID”: “810945BC-094B-11E6-B438-8E7300DB46A6”}, “MSG_TYPE”: “嘀” }

结果工作正常,但我想只取“报价”价值这是一个数值。

这里是链接到他们的API网站/开发网站:https://developers.binary.com/

预先感谢您:)

你的反应看起来像一个JSON字符串你应该这样做

@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(”引用“));” 这是我现在得到的错误 – user3380047