擅长:python、mysql、java
<p>简而言之:是的,你必须这样做。在</p>
<p>SQLAlchemy中的JSON类型用于将Python</em>结构<em>存储为JSON</em>。它有效地做到了:</p>
<pre><code>database_value = json.dumps(python_value)
</code></pre>
<p>在商店里,和使用</p>
^{pr2}$
<p>您存储了一个字符串,并将其转换为JSON值。字符串本身包含JSON只是巧合。不要存储JSON字符串,存储可JSON序列化的Python值。在</p>
<p>一个快速演示来说明:</p>
<pre><code>>>> print json.dumps({'foo': 'bar'})
{"foo": "bar"}
>>> print json.dumps('This is a "string" with quotes!')
"This is a \"string\" with quotes!"
</code></pre>
<p>请注意第二个示例如何应用完全相同的引用。在</p>
<p>使用JSON SQLAlchemy类型在对象上存储额外的结构化数据;PostgreSQL允许您在服务器端访问SQL表达式中的内容,SQLAlchemy在Python端允许您以Python值的形式完全访问内容。在</p>
<p>请注意,您应该始终在对象上重新设置<em>整个</em>值。不要改变它内部的值,并期望SQLAlchemy自动检测到更改;请参阅<a href="http://docs.sqlalchemy.org/en/latest/dialects/postgresql.html#sqlalchemy.dialects.postgresql.JSON" rel="noreferrer">PostgreSQL JSON type</a>文档。在</p>