首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MonetDB中使用JSON

如何在MonetDB中使用JSON
EN

Stack Overflow用户
提问于 2014-11-21 12:37:58
回答 2查看 689关注 0票数 3

MonetDB文档说,JSON在MonetDB中是支持的,但是我找不到任何例子。当我试图在MonetDB客户机中实现这个查询时:

代码语言:javascript
复制
   json.filter({ "store": {    
    "bicycle": {
      "color": "red",
      "price": 19.95
    }}},'$')    

我得到这个错误:语法错误,意外的IDENT在:"json“中

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-27 10:38:32

来自https://www.monetdb.org/pipermail/users-list/2014-November/007700.html

在MonetDB中,JSON是一种列类型,因此首先需要定义一个具有JSON类型列的表,如下所示:

CREATE TABLE a (js JSON);

一旦将JSON文档插入到表中,就可以执行如下查询:

SELECT json.filter(js, 'store') FROM a;

票数 2
EN

Stack Overflow用户

发布于 2016-12-15 01:51:36

你试过把单引号放在第一段吗?

下面这些对我来说很有用。

代码语言:javascript
复制
select json.filter('{ "store": {
    "bicycle": {
      "color": "red",
      "price": 19.95
    }}}', '$');

结果是:

代码语言:javascript
复制
[{ "store": {
"bicycle": {
  "color": "red",
  "price": 19.95
}}}]

我也试过这个:

代码语言:javascript
复制
select json.filter('{ "store": {
  "bicycle": {
    "color": "red",
    "price": 19.95
  }}}', '$.store.bicycle.color');

结果是:

代码语言:javascript
复制
["red"]

以字符串的形式返回颜色:

代码语言:javascript
复制
select json.text(json.filter('{ "store": {
  "bicycle": {
    "color": "red",
    "price": 19.95
  }}}', '$.store.bicycle.color'));

...I get:

代码语言:javascript
复制
red

如果我试着:

代码语言:javascript
复制
select json.text(json.filter('{ "store": {
  "bicycle": {
    "color": "red",
    "price": 19.95
  }}}', '$.store.bicycle.price'));

...I以字符串的形式拿回价格:

代码语言:javascript
复制
19.95

但我也可以把它作为一个数字:

代码语言:javascript
复制
select json.number(json.filter('{ "store": {
      "bicycle": {
        "color": "red",
        "price": 19.95
      }}}', '$.store.bicycle.price'));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27061588

复制
相关文章

相似问题

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