JSON

PostgreSQL JSON 数据类型

字号+ 作者:H5之家 来源:H5之家 2015-11-03 17:05 我要评论( )

从PostgreSQL 9.3版本开始,JSON已经成为内置数据类型,“一等公民”啦。还在羡慕什么文档数据库或者BSON么,赶紧玩玩吧。另外9.4版本,提供JSONB(Binary),提

从PostgreSQL 9.3版本开始,JSON已经成为内置数据类型,“一等公民”啦。

还在羡慕什么文档数据库或者BSON么,赶紧玩玩吧。另外9.4版本,提供JSONB(Binary),提供更多JSON函数和索引支持。

刚好手头有一个需求,是涉及到数组类型的,懒的插入多条数据库记录,想起了ARRAY数据类型。

常用的读取操作符目前大概有三类:->、->>和#>。还是直接看SQL查询的例子吧。

先看->类:








再来->>例子:








有没有发现其实->和->>出来的结果肉眼看起来是一样的?区别在于后者是返回text。

上面两个操作符实现了读取,其实大部分时候我们的JSON不是这么简单,会内嵌各种数组和哈希,这么读下去会死人的吧。当然,有一种类似path的读取,看例子吧:








当然里面可以嵌套很多,比如{a,2,b,3}等等。下面再来点表的例子:





插入数据是不是很熟悉,基本和普通使用JSON一致,初窥下select结果:







很眼熟,where条件可以这么用:






注意这里是->>转换成text然后在::int进行比较。

不过这里有个坑,不知道怎么解决,比如:









这个时候上面的::int>1这样就报错了,因为最后一行a为字符串。

mongodb这个问题解决的挺好,回头搜搜在Pg里怎么搞。

话说,Pg里支持的JSON是不是和之前提到的hstore类型有的一相似的地方?

两者优劣回头我再贴文吧。

官方文档:

END



 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php CI 实战教程:[5]用curl获取json并解析

    php CI 实战教程:[5]用curl获取json并解析

    2016-02-26 17:00

  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

网友点评
<