【问题标题】:How to save JENA Sparql Query ResultSet as JSON?如何将 JENA Sparql 查询结果集保存为 JSON?
【发布时间】:2015-10-07 02:43:38
【问题描述】:

如何将 JENA ResultSet 存储为 JSON 格式的字符串?我目前只能将 ResultSet 输出到 System.out 控制台,但我无法将其保存到 java String。这是我所在位置的一个示例:

QueryExecution qexec = QueryExecutionFactory.sparqlService(endpoint, query);
ResultSet results = qexec.execSelect();
// the following prints out JSON in the System.out console:
ResultSetFormatter.outputAsJSON(System.out, results);
// but how do I save it as a String?
// ie.  
String json = ResultSetFormatter.outputAsJSON(System.out, results);
// obviously that doesn't work, but how would one get the equivalent working version?

我希望能够将 JSON 变量发送到另一个方法以对其执行一些工作。

提前致谢!

【问题讨论】:

    标签: java json sparql jena


    【解决方案1】:

    尝试写入ByteArrayOutputStream 并将其中的字节转换为String

    QueryExecution qexec = QueryExecutionFactory.sparqlService(sparqlEndpointQuery, query);
    ResultSet results = qexec.execSelect();
    
    // write to a ByteArrayOutputStream
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    
    ResultSetFormatter.outputAsJSON(outputStream, results);
    
    // and turn that into a String
    String json = new String(outputStream.toByteArray());
    
    System.out.println(json);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      相关资源
      最近更新 更多