首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复Jsoniq静态错误:无效表达式:语法错误,意外的“每一个”?

如何修复Jsoniq静态错误:无效表达式:语法错误,意外的“每一个”?
EN

Stack Overflow用户
提问于 2022-03-29 01:43:25
回答 1查看 38关注 0票数 0

我正在执行此查询,以确定在这个假装的数据库中是否有可用的多媒体软件包。

代码语言:javascript
复制
let $swpackages := [
    {"name": "flimber", "version": 1.8, "category": "admin"},
    {"name": "quack", "version": 5.4, "category": "admin"},
    {"name": "xyz", "version": 3.118, "category": "admin"},
    {"name": "grop", "version": 11, "category": "editor"},
    {"name": "snarl", "version": 3.0, "category": "editor"},
    {"name": "rope", "version": 1.45, "category": "devel"},
    {"name": "crunch", "version": 11.53, "category": "devel"},
    {"name": "quickdelete", "version": 4.8, "category": "util"},
    {"name": "readmind", "version": 2.34, "category": "util"},
    {"name": "slurp", "version": 12.5, "category": "multimetia"},
    {"name": "yaf", "version": 1.1, "category": "multimedia"},
    {"name": "noodle", "version": 11, "category": "multimedia"}
]

我将此信息保存在另一个名为packages.sq的文件中。我正在执行以下查询:

代码语言:javascript
复制
 jsoniq version "1.0";
 let $packages := { (: packages.jq :) }    
 every $sw in $packages.swpackages[] satisfies
    (some $package in $packages.swpackages.category[]
          satisfies $cat eq "multimedia")

关于jsoniq似乎没有太多的资源,而且我是使用这种查询语言的菜鸟。任何关于如何纠正我的错误的建议都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 11:52:06

有两个问题:

  1. let子句必须始终与匹配的return子句(这些是FLWOR表达式)一起使用。一般情况下,从句几乎可以按任何顺序排列,但总是带有结束返回子句。
  2. 嵌套变量不一致,应该改为some $cat)

这导致了下面的查询,它应该解析(它解析RumbleDB砂箱)。

代码语言:javascript
复制
let $packages := { (: packages.jq :) }   
return every $sw in $packages.swpackages[]
       satisfies (some $cat in $packages.swpackages.category[]
                  satisfies $cat eq "multimedia")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71655533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档