我正在尝试创建一个简单的Jersey客户端来处理来自公共API的数据。
使用下面的程序,我能够读取和处理数据,但我想将JSON响应转换为Java Object,以便我有一个结构。
如何根据响应构建Java对象结构。
public class RestServiceClient {
public static void main(String[] args) {
Client client = Client.create();
WebResource webResource2 = client.resource("https://data.montgomerycountymd.gov/api/views/54rh-89p8/rows.json?accessType=DOWNLOAD");
ClientResponse response2 = webResource2.accept("application/json").get(ClientResponse.class);
if (response2.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response2.getStatus());
}
String output2 = response2.getEntity(String.class);
System.out.println(output2);
}
}
答案 0 :(得分:3)
尝试这样的事情(使用Google Gson解析)。它并没有100%完全解析它,但它是一个开始。
order_product
答案 1 :(得分:1)
请使用以下代码将数据发送到其他网址并返回所需的对象。 (如果没有将mediatype proeprty更改为XML,则期待JSON FORMAT)
//packages for your reference
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.multipart.impl.MultiPartWriter;
//Java Code
ClientConfig cc = new DefaultClientConfig();
cc.getClasses().add(MultiPartWriter.class);
final Client client = Client.create(cc);
WebResource resource = client.resource("https://your_url");
//class that we the rest end point expecting
CustomInputClass input = new CustomInputClass();
// set data to input
CustomOutputClass output = resource
.accept(MediaType.APPLICATION_JSON)
.type(MediaType.APPLICATION_JSON)
.post(CustomOutputClass.class,input);