本文介绍了带有psycopg2 RealDictCursor的jsonb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个PostgreSQL 9.4(aka mongodb killer ;-))和这个简单的模式:

I have a postgresql 9.4 (aka mongodb killer ;-) ) and this simple schema :

CREATE TABLE test (id SERIAL, name text, misc jsonb);

现在我将其填充,如果我进行选择,它将显示类似

now i populate this, if i make a select it will show something like

id    |     name      |    misc
1     |     user1     | { "age" : 23, "size" : "M" }
2     |     user2     | { "age" : 30, "size" : "XL" }

现在,如果我使用psycopg2的请求,

now, if i make a request with psycopg2,

cur.execute("SELECT * FROM test;")
rows = list(cur)

我最终会得到

[ { 'id' : 1, 'name' : 'user1', 'misc' : '{ "age" : 23, "size" : "M" }' }, 
{ 'id2' : 2, 'name' : 'user2', 'misc' : '{ "age" : 30, "size" : "XL' }' }]

您会告诉我什么地方错了?错是类型str。我希望它会被识别为json并转换为Python dict。

what's wrong you would tell me ? well misc is type str. i would expect it to be recognized as json and converted as Python dict.

(。

这篇关于带有psycopg2 RealDictCursor的jsonb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 23:22