如何将 JENA Sparql 查询结果集保存为 JSON?

How to save JENA Sparql Query ResultSet as JSON?

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

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 变量发送到另一个方法以对其执行一些操作。

提前致谢!

尝试写入 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);