postgresql支持两种json数据类型:json和jsonb,而两者唯一的区别在于效率,json是对输入的完整拷贝,使用时再去解析,所以它会保
留输入的空格,重复键以及顺序等。而jsonb是解析输入后保存的二进制,它在解析时会删除不必要的空格和重复的键,顺序和输入可能
也不相同。使用时不用再次解析。两者对重复键的处理都是保留最后一个键值对。效率的差别:json类型存储快,使用慢,jsonb类型存
储稍慢,使用较快。
注意:键值对的键必须使用双引号
test=# SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::json; json ------------------------------------------------------ {"bar": "baz", "balance": 7.77, "active":false} (1 row) test=# SELECT '{"bar": "baz", "balance": 7.77, "active":false}'::jsonb; jsonb -------------------------------------------------- {"bar": "baz", "active": false, "balance": 7.77} (1 row)
推荐学习《python教程》。