使用BaseXQuery代码处理仅JSON的API

使用BaseXQuery代码处理仅JSON的API,xquery,basex,Xquery,Basex,我最近接管了一个旧的代码项目来完成一项新的工作,这个项目广泛使用了存储在BaseX中的XML数据库。核心项目是一个节点web应用程序,它将各种数据库操作委托给与BaseX数据库交互的XQuery函数 最近,我们用来交叉发布公共数据的一个外部API(一种公共数据中心)完全改变了它的API,并且只接受RESTAPI调用的JSON编码。这对我们来说是一个问题,因为我们使用BaseX/XQuery方法来塑造XML编码的REST调用,并且工作得非常好 我仔细阅读了BaseX各个模块(特别是JSON和HTT

我最近接管了一个旧的代码项目来完成一项新的工作,这个项目广泛使用了存储在BaseX中的XML数据库。核心项目是一个节点web应用程序,它将各种数据库操作委托给与BaseX数据库交互的XQuery函数

最近,我们用来交叉发布公共数据的一个外部API(一种公共数据中心)完全改变了它的API,并且只接受RESTAPI调用的JSON编码。这对我们来说是一个问题,因为我们使用BaseX/XQuery方法来塑造XML编码的REST调用,并且工作得非常好

我仔细阅读了BaseX各个模块(特别是JSON和HTTP模块)的文档,但似乎XML元素是我们在XQuery中调用时使用的
HTTP:send-request
函数所接受的唯一内容。BaseX显然能够解析和序列化JSON数据,但我找不到任何东西可以为HTTP请求发送JSON数据

我曾考虑在节点应用程序代码中而不是在XQuery方法中执行此外部发布,但发布的内容依赖于从数据库中获取的各种数据,因此它确实有点事与愿违

我是不是遗漏了什么?是否可以使用BaseX数据库中的XML数据在XQuery中塑造和发送JSON数据


提前谢谢。

要适应这个环境需要一段时间。下面是使用POST方法将JSON数据发送到web服务的一种方法:

http:send请求(
,
'https://your/url',
“{a:“b”}”
)

实际的JSON负载是通过第三个函数参数提供的。在本例中,它是一个普通字符串。如果您的输入是XML,您可以通过将其转换为字符串表示。

需要一段时间才能习惯。下面是使用POST方法将JSON数据发送到web服务的一种方法:

http:send请求(
,
'https://your/url',
“{a:“b”}”
)

实际的JSON负载是通过第三个函数参数提供的。在本例中,它是一个普通字符串。如果您的输入是XML,则可以通过将其转换为字符串表示形式。

interest。我不明白您可以简单地传递字符串作为第三个参数。谢谢我想这样就行了。很有趣。我不明白您可以简单地传递字符串作为第三个参数。谢谢我想这样就行了。