Каждая запись дает отдельную HTML-таблицу с использованием node-json2html
Я создаю HTML-таблицу с использованием данных JSON, и мое преобразование дает для каждой записи отдельную таблицу.
var data=[{"name":"aa","mid":"12345","user":"a123","password":"a@123"},{"name":"bb","mid":"2345","user":"b123","password":"b@123"}]
var transform=[
{"<>":"style","html":"table,th,td {border: 1px solid black;border-collapse: collapse;}th {text-align: left;}"},
{"<>":"p","html":"Dear client"},
{"<>":"p","html":"Please find below merchant users passwords are expired. Kindly take necessaray action immediately."},
{"<>":"table","style":"width:100%","html":[
{"<>":"tbody","html":[
{"<>":"tr","html":[
{"<>":"th","id":"name","html":"Client Name"},
{"<>":"th","id":"mid","html":"MID Number"},
{"<>":"th","id":"username","html":"Username"},
{"<>":"th","id":"password","html":"Current Password"}
]},
{"<>":"tbody","id":"json-body","html":[
{"<>":"tr","html":[
{"<>":"td","html":"${name}"},
{"<>":"td","html":"${mid}"},
{"<>":"td","html":"${user}"},
{"<>":"td","html":"${password}"}
]},
]},
]},
]},
{"<>":"p","html":"Thanks & Regards"},
{"<>":"p","html":"support@aa.com"}
]
Как я могу сделать это, собрав все свои данные в одну HTML-таблицу?
1 ответ
Решение
Вы можете изменить данные на Object
который имеет ключ users
а затем определить новый transform
и новая встроенная функция для преобразования data.users
,
ps: думаю первый tbody
должно быть thead
,
Код ниже:
var data = {
users: [{
"name": "aa",
"mid": "12345",
"user": "a123",
"password": "a@123"
}, {
"name": "bb",
"mid": "2345",
"user": "b123",
"password": "b@123"
}]
}
var transform2 = [{
"<>": "tr",
"html": [{
"<>": "td",
"html": "${name}"
}, {
"<>": "td",
"html": "${mid}"
}, {
"<>": "td",
"html": "${user}"
}, {
"<>": "td",
"html": "${password}"
}]
}];
var transform = [{
"<>": "style",
"html": "table,th,td {border: 1px solid black;border-collapse: collapse;}th {text-align: left;}"
}, {
"<>": "p",
"html": "Dear client"
}, {
"<>": "p",
"html": "Please find below merchant users passwords are expired. Kindly take necessaray action immediately."
}, {
"<>": "table",
"style": "width:100%",
"html": [{
"<>": "thead",
"html": [{
"<>": "tr",
"html": [{
"<>": "th",
"id": "name",
"html": "Client Name"
}, {
"<>": "th",
"id": "mid",
"html": "MID Number"
}, {
"<>": "th",
"id": "username",
"html": "Username"
}, {
"<>": "th",
"id": "password",
"html": "Current Password"
}]
}, {
"<>": "tbody",
"id": "json-body",
"html": function(obj) {
return (json2html.transform(obj.user, transform2));
}
}, ]
}, ]
}, {
"<>": "p",
"html": "Thanks & Regards"
}, {
"<>": "p",
"html": "support@aa.com"
}];
var html = json2html.transform(data, transform);
увидеть это