我想编写 XQuery 来打印 JSON 中的特定键
I want to write the XQuery to print the specific keys in JSON
这是我的样本JSON
{
"id":"743",
"groupName":"group1",
"transation":{
"101":"success",
"102":"rejected",
"301":"processing"
}
}
预期结果:
"101"
"102"
"301"
谁能帮我用 XQuery 打印上面的结果?
我可以通过JavaScript来实现,但是我需要用XQuery来写。
不知道你是如何阅读JSON文档的,无论是作为数据库中的文档还是解析JSON字符串,下面使用xdmp:unquote()
来解析字符串,但你可以改为使用 fn:doc()
或通过 cts:search()
.
从数据库中读取文档
然后,您可以使用 transation
字段和 return 那些具有 name()
函数的节点名称的 XPath:
let $jsonData := xdmp:unquote('
{
"id":"743",
"groupName":"group1",
"transation":{
"101":"success",
"102":"rejected",
"301":"processing"
}
}')
return
$jsonData/transation/*/name()
这是我的样本JSON
{
"id":"743",
"groupName":"group1",
"transation":{
"101":"success",
"102":"rejected",
"301":"processing"
}
}
预期结果:
"101"
"102"
"301"
谁能帮我用 XQuery 打印上面的结果?
我可以通过JavaScript来实现,但是我需要用XQuery来写。
不知道你是如何阅读JSON文档的,无论是作为数据库中的文档还是解析JSON字符串,下面使用xdmp:unquote()
来解析字符串,但你可以改为使用 fn:doc()
或通过 cts:search()
.
然后,您可以使用 transation
字段和 return 那些具有 name()
函数的节点名称的 XPath:
let $jsonData := xdmp:unquote('
{
"id":"743",
"groupName":"group1",
"transation":{
"101":"success",
"102":"rejected",
"301":"processing"
}
}')
return
$jsonData/transation/*/name()