BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JSONiq:JSON查询语言

| 作者 Jonathan Allen 关注 593 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2013年1月9日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

JSONiq是个构建在XQuery之上的新型查询语言。类似于SQL或是LINQ,它提供了诸如let、for、where、group by与select等语法支持概念,参见如下代码示例:

let $stats := db:find("stats")
for $access in $stats
where $access("response_time") > 5
group by $url := $access("url")
return
{
    "url": $url,
    "avg": avg($access("response_time")),
    "hits": count($access)
}

JSONiq不仅仅支持JSON到JSON的转换。你可以通过它生成或是解析XML,甚至还可以创建合并这两者的查询。在下面这个来自于JSONiq文档的示例中,你可以看到JSONiq被用作模板语言来生成HTML表格。

类似于XQuery,JSONiq也支持重叠与非重叠窗口。该特性可用于将数据平均划分为若干块,或是用于统计计算,如计算“last 3”的平均值。可以通过XPath规范了解关于tumbling与sliding windows的更多内容

JSONiq的另一个特性就是更新JSON数据的能力。在该示例中,你可以看到一个status属性被插入到了匹配名字“Deadbeat Jim”的记录中。

JSONiq是XQuery处理器Zorba的一部分,Zorba基于Apache 2许可。JSONiq本身则基于Creative Commons Attribution-ShareAlike 3.0 Unported许可

查看英文原文:JSONiq: The JSON Query Language

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT