Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从json列postgreSQL中删除{}和[]_Json_Postgresql - Fatal编程技术网

如何从json列postgreSQL中删除{}和[]

如何从json列postgreSQL中删除{}和[],json,postgresql,Json,Postgresql,我在postgreSQL中使用json数据类型的列。直到今天,还没有包含{}或[]的行 然而,由于新的实现,我开始看到{}和[]。我想把它去掉 下面是我的桌子的样子。json是json数据类型 id | json ----+------------------ a | {"st":[{"State": "TX", "Value":"0.02"}, {"State": "CA", "Value":"0.2" ... ----+------------------

我在postgreSQL中使用json数据类型的列。直到今天,还没有包含{}或[]的行

然而,由于新的实现,我开始看到{}和[]。我想把它去掉

下面是我的桌子的样子。json是json数据类型

 id |       json       
----+------------------
  a | {"st":[{"State": "TX", "Value":"0.02"}, {"State": "CA", "Value":"0.2" ...
----+------------------
 b  | {"st":[{"State": "TX", "Value":"0.32"}, {"State": "CA", "Value":"0.47" ...
----+------------------
 d  | {}
----+------------------
 e  | []
我想要的地方如下:

 id |       json       
----+------------------
  a | {"st":[{"State": "TX", "Value":"0.02"}, {"State": "CA", "Value":"0.2" ...
----+------------------
 b  | {"st":[{"State": "TX", "Value":"0.32"}, {"State": "CA", "Value":"0.47" ...
我该怎么做呢

我写了以下问题:

SELECT *
FROM tableA
WHERE json::text <> '[]'::text 
选择*
从表格
其中json::text“[]”:text

我可以过滤以{}开头的空元素。但是仍然可以看到[]。

非常简单,只需选择不包含这些值的所有行:

SELECT *
FROM tableA
WHERE json :: text NOT IN ('{}', '[]')

非常简单,只需选择不包含这些值的所有行:

SELECT *
FROM tableA
WHERE json :: text NOT IN ('{}', '[]')

换句话说:您想删除空元素吗?是的,我想删除空元素。我不知道它为什么会出现,但当我想要查询它时,我不想要空元素。真正的问题是:为什么有时插入空JSON对象,有时插入空JSON数组。换句话说,你想要删除空元素?是的,我想要删除空元素。我不知道它为什么会出现,但当我想要查询它时,我不想要空元素。真正的问题是:为什么有时插入空JSON对象,有时插入空JSON数组。