繁体   English   中英

json文件中的json2html(服务器端的python)

[英]json2html from json file (python on server side)

我有传递json文件的python代码

def home():
    with open('file.json', 'a+') as f:
        return render_template('index.html', json_data=f.read())

该文件看起来像这样

{"hosts": [{"shortname": "serv1", "ipadr": "10.0.0.1", "longname": "server1"}, {"shortname": "serv2", "ipadr": "10.0.0.2", "longname": "server2"}]}

在客户端,我编写了这段代码

<table id="placar" class="table table-condensed  table-bordered">
      <thead>
        <tr>
          <th>shortname</th>
          <th>longname</th>
          <th>ipadress</th>
        </tr>
      </thead>
      <tbody></tbody>
    </table>
</div>
<script>
var data = {{ json_data }}


var transform = {
    tag: 'tr',
    children: [{
        "tag": "td",
            "html": "${shortname}"
    }, {
        "tag": "td",
            "html": "${ipadr}"
    }, {
        "tag": "td",
            "html": "${longname}"
    }]
};

$('#placar > tbody ').json2html(data, transform);
</script>

但这不适用于我的文件,如果编写简单的数组,则效果很好。 谁能说我做错了什么,传递文件或创建表?

请试试

import json
def home():
  with open('file.json', 'a+') as f:
    return render_template('index.html', json.dumps(f.read()))

您将要转换data.hosts而不只是像这样的数据对象

$('#placar > tbody ').json2html(data.hosts, transform);

所以你们在一起

var data = {"hosts": [{"shortname": "serv1", "ipadr": "10.0.0.1", "longname": "server1"}, {"shortname": "serv2", "ipadr": "10.0.0.2", "longname": "server2"}]};

var transform = {
    tag: 'tr',
    children: [{
        "tag": "td",
            "html": "${shortname}"
    }, {
        "tag": "td",
            "html": "${ipadr}"
    }, {
        "tag": "td",
            "html": "${longname}"
    }]
};

$('#placar > tbody ').json2html(data.hosts, transform);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM