我想编写 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()