1

我正在寻找将 xquery 转换为 jsonata ,

let $h := $at//datahistory
for $x in 0 to (count($h))
let p:= (if (not($h[$x]/daytoday =(‘one’, ‘two’) )) then ‘ZERO’ else $h[$x+1]/Status 
return if(index-of($p) > 0 then 0 else 1)

非常感谢任何形式的帮助和帮助。

提前致谢。

4

1 回答 1

1

您的 XQuery 是一个for表达式,可以很容易地重写为一个简单的 XPath 路径表达式/bookstore/book[price > 30]/title,该表达式将转换为 JSONata 路径bookstore.book[price > 30].title。另一方面,JSON数据不太可能具有这样的结构bookstoreand book,我猜是一个具有数组属性的对象,例如

{
  "bookstore" : [
    {
      "title" : "title 1",
      "price" : 20
    },
    {
      "title" : "title 2",
      "price" : 35
    },
    {
      "title" : "title 3",
      "price" : 99
    }
  ]
}

这导致bookstore[price > 30].titlehttps://try.jsonata.org/0vfDXqv4m)或带有书籍对象的简单数组

 [
    {
      "price": 20,
      "title": "title 1"
    },
    {
      "price": 35,
      "title": "title 2"
    },
    {
      "price": 99,
      "title": "title 3"
    }
]

这导致$[price > 30].titlehttps://try.jsonata.org/fryxG-QLj)更有可能。

于 2020-09-26T21:41:03.170 回答