MonetDB文档说,JSON在MonetDB中是支持的,但是我找不到任何例子。当我试图在MonetDB客户机中实现这个查询时:
json.filter({ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}},'$') 我得到这个错误:语法错误,意外的IDENT在:"json“中
发布于 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;
发布于 2016-12-15 01:51:36
你试过把单引号放在第一段吗?
下面这些对我来说很有用。
select json.filter('{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}', '$');结果是:
[{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}]我也试过这个:
select json.filter('{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}', '$.store.bicycle.color');结果是:
["red"]以字符串的形式返回颜色:
select json.text(json.filter('{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}', '$.store.bicycle.color'));...I get:
red如果我试着:
select json.text(json.filter('{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}', '$.store.bicycle.price'));...I以字符串的形式拿回价格:
19.95但我也可以把它作为一个数字:
select json.number(json.filter('{ "store": {
"bicycle": {
"color": "red",
"price": 19.95
}}}', '$.store.bicycle.price'));https://stackoverflow.com/questions/27061588
复制相似问题