Advertisement
radostina92

JSONtoHTML

Jun 3rd, 2021
922
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function fromJSONToHTMLTable(json) {
  2.     let arr = JSON.parse(json);
  3.  
  4.     let outputArr = ['<table>'];
  5.     outputArr.push(makeKeyRow(arr));
  6.     arr.forEach((obj) => outputArr.push(makeValueRow(obj)));
  7.     outputArr.push('</table>');
  8.  
  9.     console.log(outputArr.join('\n'));
  10.  
  11.     function makeKeyRow(arr) {
  12.         let result = '  <tr>';
  13.         Object.keys(arr[0]).forEach(key => {
  14.             result += `<th>${escapeHtml(key)}</th>`;
  15.         });
  16.         result += '</tr>';
  17.         return result;
  18.     }
  19.  
  20.     function makeValueRow(obj) {
  21.         let result =  '  <tr>';
  22.         Object.values(obj).forEach(value => {
  23.             result += `<td>${escapeHtml(value)}</td>`;
  24.         });
  25.         result += '</tr>';
  26.         return result;
  27.     }
  28.  
  29.     function escapeHtml(value) {
  30.         return value
  31.             .toString()
  32.             .replace(/&/g, '&amp;')
  33.             .replace(/</g, '&lt;')
  34.             .replace(/>/g, '&gt;')
  35.             .replace(/"/g, '&quot;')
  36.             .replace(/'/g, '&#39;');
  37.     }
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement