Postgresql 为什么使用Postgres JSON列类型?
JSON列类型接受无效的JSON 乙二醇Postgresql 为什么使用Postgres JSON列类型?,postgresql,Postgresql,JSON列类型接受无效的JSON 乙二醇 [1,2,3]无需关闭即可插入{} JSON和字符串之间有什么区别吗?而[1,2,3]是有效的JSON,正如zerkms在评论中所述,回答主要问题:JSON和字符串之间有什么区别吗? 答案是肯定的。一组全新的查询操作、函数等适用于json或jsonb列,而这些列不适用于text(或相关类型)列 例如,对于text列,您需要使用正则表达式和相关的字符串函数来解析字符串(或自定义函数),而对于json或jsonb,则存在一组单独的查询运算符,它们在json的
[1,2,3]
无需关闭即可插入{}
JSON和字符串之间有什么区别吗?而
[1,2,3]
是有效的JSON,正如zerkms在评论中所述,回答主要问题:JSON和字符串之间有什么区别吗?
答案是肯定的。一组全新的查询操作、函数等适用于json
或jsonb
列,而这些列不适用于text
(或相关类型)列
例如,对于text
列,您需要使用正则表达式和相关的字符串函数来解析字符串(或自定义函数),而对于json
或jsonb
,则存在一组单独的查询运算符,它们在json的结构化特性中工作
从中,给定以下JSON:
医生接着说:
我们将这些文档存储在名为api的表中,在名为
jdoc。如果在此列上创建了GIN索引,则
以下内容可以使用该索引:
这允许您查询jsonb
(或json
)字段,这与仅查询text
或相关字段非常不同
下面是一些示例,它提供了一些查询运算符和函数
基本上,如果您有要作为JSON数据处理的JSON数据,那么最好将列指定为
JSON
或jsonb
(您选择哪一个取决于您是将其分别存储为纯文本还是二进制)。而[1,2,3]
是有效的JSON,正如zerkms在评论中指出的,为了回答主要问题:JSON和字符串之间有什么区别吗?
答案是肯定的。一组全新的查询操作、函数等适用于json
或jsonb
列,而这些列不适用于text
(或相关类型)列
例如,对于text
列,您需要使用正则表达式和相关的字符串函数来解析字符串(或自定义函数),而对于json
或jsonb
,则存在一组单独的查询运算符,它们在json的结构化特性中工作
从中,给定以下JSON:
医生接着说:
我们将这些文档存储在名为api的表中,在名为
jdoc。如果在此列上创建了GIN索引,则
以下内容可以使用该索引:
这允许您查询jsonb
(或json
)字段,这与仅查询text
或相关字段非常不同
下面是一些示例,它提供了一些查询运算符和函数
基本上,如果您有要作为JSON数据处理的JSON数据,那么最好将列指定为
JSON
或jsonb
(您选择哪一个取决于您是将其分别存储为纯文本还是二进制)。上述数据可以以文本形式存储,但是JSON数据类型有一个优势,您可以在这些列中应用JSON规则。有几个函数是JSON指定的,不能用于文本字段
上述数据可以以文本形式存储,但JSON数据类型的优势在于您可以在这些列中应用JSON规则。有几个函数是JSON指定的,不能用于文本字段
[1,2,3]
是有效的JSON。我认为它需要包含{},必须仅用于http请求{}
用于JSON对象,[]
用于JSON数组。这是两种不同的JSON类型。如果您存储的唯一内容是整数数组,那么int[]
将是更好的选择。[1,2,3]
是有效的JSON。我认为它需要包含{},必须仅用于http请求{}
用于JSON对象,[]
用于JSON数组。这是两种不同的JSON类型。如果您只存储整数数组,那么int[]
将是更好的选择。
{
"guid": "9c36adc1-7fb5-4d5b-83b4-90356a46061a",
"name": "Angela Barton",
"is_active": true,
"company": "Magnafone",
"address": "178 Howard Place, Gulf, Washington, 702",
"registered": "2009-11-07T08:53:22 +08:00",
"latitude": 19.793713,
"longitude": 86.513373,
"tags": [
"enim",
"aliquip",
"qui"
]
}
-- Find documents in which the key "company" has value "Magnafone"
SELECT jdoc->'guid', jdoc->'name' FROM api WHERE jdoc @> '{"company": "Magnafone"}';