JSONiq:JSON查询语言

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/JSONiq

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值