在Mako中编码JSON?
我在使用mako处理json时遇到了一些麻烦。我这样做:
${ to_json( dict( a = 1, b = 2 ) ) }
其中to_json是:
<%!
import simplejson as json
def to_json( d ):
return json.dumps( d )
%>
但是,它没有给我我想要的结果,而是给了我:
{"a": "1", "b": "2"}
它给我的结果是:
{"a": 1, "b": 2}
看起来mako在某个地方把双引号(")改成了其他东西。
那我应该怎么做呢?
相比之下,这里有一个测试脚本:
import simplejson as json
print json.dumps( dict( a=1,b=2 ) )
输出结果是:
{"a": 1, "b": 2}
编辑
我把我的函数改成了:
<%!
import simplejson as json
def to_json( d ):
return "{\"a\": 1}"
%>
结果它把双引号(")改成了"
,所以看起来这是mako的问题。
1 个回答
2
看起来某个地方有个自动过滤器,所以当我把
${ to_json( dict( a = 1, b = 2 ) ) }
改成
${ to_json( dict( a = 1, b = 2 ) ) | n }
来关闭过滤器的时候,一切就正常了,谢谢。