Кодирование JSON в Мако? - PullRequest
       5

Кодирование JSON в Мако?

1 голос
/ 16 октября 2010

У меня проблемы с 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"}

это дает мне

{&quot;a&quot;: 1, &quot;b&quot;: 2}

поэтому Мако где-то меняет "на"

что мне делать вместо этого?

напротив, вот сценарий теста

import simplejson as json

print json.dumps( dict( a=1,b=2 ) )

выход

{"a": 1, "b": 2}

1024 * редактировать *

я изменил свою функцию на

<%!
    import simplejson as json

    def to_json( d ):
        return "{\"a\": 1}"
%>

и он меняет "на &quot;, так что, похоже, проблема с мако.

1 Ответ

2 голосов
/ 16 октября 2010

кажется, что где-то есть автофильтр, поэтому, когда я изменил

${ to_json( dict( a = 1, b = 2 ) ) }

на

${ to_json( dict( a = 1, b = 2 ) ) | n }

, чтобы отключить фильтры, все в порядке, спасибо

...