繁体   English   中英

使用Java访问JSON Web服务

[英]Access JSON Webservice with Java

我正在尝试访问Web服务(文档: http : //docs.bittpublic.apiary.io/#reference/public-http-api/ticker/gets-the-current-ticker-data-for-a-given-货币对 )。 我需要从此JSON获取信息,即响应中的字段“ volume”。 但是我在客户端生成器中遇到问题。 检查我的代码/错误:

码:

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.MediaType;

Client client = ClientBuilder.newClient();
Entity payload = Entity.json("{  'productPair': 'BTCUSD'}");
Response response = client.target("https://api.bitt.com:8400")
         .path("/ajax/v1/GetTicker")
         .request(MediaType.APPLICATION_JSON_TYPE)
         .post(payload);

System.out.println("status: " + response.toString());

错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/internal/util/collection/UnsafeValue
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2663)
    at java.lang.Class.getConstructor0(Class.java:3067)
    at java.lang.Class.newInstance(Class.java:408)
    at javax.ws.rs.client.FactoryFinder.newInstance(FactoryFinder.java:118)
    at javax.ws.rs.client.FactoryFinder.find(FactoryFinder.java:225)
    at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:86)
    at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)
    at exchanges.barbados.Bitt.getTicker(Bitt.java:72)
    at exchanges.barbados.Bitt.get24hrVol(Bitt.java:59)
    at exchanges.barbados.Bitt.<init>(Bitt.java:51)
    at main.Main.main(Main.java:363)
Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.util.collection.UnsafeValue
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 12 more
Java Result: 1

我不知道什么是org / glassfish / jersey / internal / util / collection / UnsafeValue,我在网上找到的所有信息都是关于在线提供一个Web服务,而不是对其进行访问。

我添加的罐子:

javax.ws.rs-API-2.0.1.jar

新泽西州的客户 - 2.17.jar

您需要jersey-common-2.17.jar。 您可以从此处获取: http : //search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.glassfish.jersey.core%22

每当在第三方类上收到NoClassDefFoundError或ClassNotFoundException时,您都可以使用Google的类名称并找出它应该在哪个jar文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM