Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在REST web服务中从jena返回结果集时使用的媒体类型_Java_Web Services_Jax Rs_Sparql_Jena - Fatal编程技术网

Java 在REST web服务中从jena返回结果集时使用的媒体类型

Java 在REST web服务中从jena返回结果集时使用的媒体类型,java,web-services,jax-rs,sparql,jena,Java,Web Services,Jax Rs,Sparql,Jena,我有这个代码,当我运行它时,它返回空的aJSON 只是JSON的结构 怎么了?我该怎么办 数据包 导入com.hp.hpl.jena.query.ResultSet 导入javax.ws.rs.core.Context 导入javax.ws.rs.core.UriInfo 导入javax.ws.rs.PathParam 导入javax.ws.rs.Consumes 导入javax.ws.rs.PUT 导入javax.ws.rs.Path 导入javax.ws.rs.GET 导入javax.ws.

我有这个代码,当我运行它时,它返回空的aJSON 只是JSON的结构

怎么了?我该怎么办

数据包

导入com.hp.hpl.jena.query.ResultSet

导入javax.ws.rs.core.Context

导入javax.ws.rs.core.UriInfo

导入javax.ws.rs.PathParam

导入javax.ws.rs.Consumes

导入javax.ws.rs.PUT

导入javax.ws.rs.Path

导入javax.ws.rs.GET

导入javax.ws.rs.products

导入javax.ws.rs.core.MediaType

@路径/服务

公共类服务{

@Context

private UriInfo context;


public Servicio() {    }

@GET

@Path("/{universidad}")

@Produces({ MediaType.APPLICATION_JSON})

public ResultSet getJson(@PathParam("universidad") String universidad) { 

    com.Data.Metodos metodo = new Metodos();

    universidad = universidad.replace(' ', '+');

    String URI = "http://dbpedia.org/sparql/University/country/?"+universidad+"/es/1/=json/";

    String lista[];

    String filtros[];

    String Query = "";

    lista = metodo.get_Cadenas(URI);

    filtros = metodo.elementos(lista);

    Query = metodo.Query(filtros);

    return (metodo.outformat(Query, filtros[0], filtros[4]));   


}

@PUT

@Consumes("application/json")

public void putJson(String content) {

}
}

您的@products注释的值应该是您希望向客户提供的媒体类型

上面的示例中有application/json,因此我假设您希望将json返回给您的客户机。问题是json序列化程序不知道如何将ResultSet转换为json对象,除非您告诉它如何转换

您需要创建自定义MessageBodyWriter,以便将ResultSet对象序列化为json


请看一个在JAX-RS中创建和注册自定义MessageBodyWriter的示例。

谢谢朋友,我会的review@Efren-没问题,很高兴我能帮忙。如果答案有帮助,请不要忘记向上投票并接受,欢迎使用StackOverflow。MIME类型为application/sparql results+json。ResultSetFormatter.outputAsJSON将写入此格式。