<p>字典似乎被JSON编码了两次,相当于:</p>
<pre><code>json.dumps(json.dumps({ "color" : "color", "message" : "message" }))
</code></pre>
<p>也许您的Python框架会自动对结果进行JSON编码?试试这个:</p>
^{pr2}$
<p><strong>编辑:</strong></p>
<p>要使用自定义的金字塔渲染器以您想要的方式生成JSON,请尝试以下操作(基于<a href="http://pyramid.readthedocs.org/en/latest/api/renderers.html" rel="noreferrer">renderer docs</a>和<a href="https://github.com/Pylons/pyramid/blob/master/pyramid/renderers.py" rel="noreferrer">renderer sources</a>)。在</p>
<p>启动时:</p>
<pre><code>from pyramid.config import Configurator
from pyramid.renderers import JSON
config = Configurator()
config.add_renderer('json_with_custom_default', JSON(default=json_util.default))
</code></pre>
<p>然后您就有了一个“json”和“自定义”渲染器来使用:</p>
<pre><code>@view_config(route_name='CreateNewAccount', request_method='GET', renderer='json_with_custom_default')
</code></pre>
<p><strong>编辑2</strong></p>
<p>另一个选择是返回一个<code>Response</code>对象,渲染器不应该修改它。E、 g</p>
<pre><code>from pyramid.response import Response
def returnJSON(color, message):
json_string = json.dumps({"color": color, "message": message}, default=json_util.default)
return Response(json_string)
</code></pre>