gpt4 book ai didi

java - 我如何从java中的xquery获取json?

转载 作者:太空宇宙 更新时间:2023-11-04 12:37:27 25 4
gpt4 key购买 nike

我想在我的方法中获取 jsonstring。我正在尝试这个:

XQConnection conn = baseXDataSource.getConnection();
XQPreparedExpression expr = conn.prepareExpression
("declare option output:method 'json'; \n" +
"<json objects=\"json\">\n" +
"<a>asd</a>\n" +
"</json>");

XQSequence result1 = expr.executeQuery();
result1.next();
XMLStreamReader result = result1.getSequenceAsStream();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StringWriter stringWriter = new StringWriter();
transformer.transform(new StAXSource(result), new StreamResult(stringWriter));
return stringWriter.toString();

但出现异常:

javax.xml.xquery.XQException: The prefix "output" is unknown in this static context.
net.xqj.basex.bin.I.getNamespaceURI(Unknown Source)

如果我在 Basex 查询处理器中执行 xquery,我会得到

{
"a":"asd"
}

我该怎么做?谢谢!

最佳答案

JSON 转换不是 XQuery 标准功能。请参阅 BaseX 将其实现为供应商扩展。请参阅https://www.w3.org/TR/xquery-31/兼容处理器必须支持的内容。不包括 JSON 输出。

您还没有正在使用的 XQuery 实现。我建议以如何使用特定 XQuery 处理器生成 JSON 的形式重新表述问题。

在纯 XQuery 中你能做的最好的事情就是找到或编写一个转换为 Json 的模块,在 XQuery 中实现并输出为文本。

关于java - 我如何从java中的xquery获取json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37166110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com