将 json 解析为 html 模板

Parse json into html template

我 select 数据库中的一行有一些 json 内容

我的函数到 select 行

@route('/list')
def list():
    c = conn.cursor()
    c.execute("SELECT content FROM pages WHERE URL = 'blob.com'")
    select = c.fetchall()
    return template('views/list.tpl', rows=select)

第 'content' 行的结果是:

{ "ruleGroups": { 
    "SPEED": { "score": 97 } 
                }, 
    "pageStats": { "numberResources": 3, 
                   "numberHosts": 2, 
                   "totalRequestBytes": "500", 
                   "imageResponseBytes": "3148", 
                   "otherResponseBytes": "3838" 
                 }, 
    "screenshot": { "mime_type": "image/jpeg", 
                    "data": "imgcontent", 
                    "width": 320, 
                    "height": 240, 
                  } 
} 

我想在 list.tpl 中显示 json "score"、"numberResources" 和 "numberHosts"。

我应该如何在 list.tpl 中进行?

在您的模板中执行以下操作:

    % for row in rows:
        % for key, value in row.iteritems():
            %if key == 'ruleGroups':
                <p>SCORE: {{value['SPEED']['score']}}</p>
            %elif key == 'pageStats':
                <p>Number of resources: {{value['numberResources']}}</p>
                <p>Number of hosts: {{value['numberHosts']}}</p>
            %end
        %end
    %end