52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
function formatAndValidateJson(errorElement) {
|
|
const input = document.querySelector('#jsonBlock');
|
|
const processInfo = document.getElementById(errorElement);
|
|
const start = new Date();
|
|
|
|
const address = window.location.protocol + "//" + window.location.hostname + ":" + 8081 + "/json/formatting"
|
|
|
|
fetch(address, {
|
|
method: 'POST',
|
|
body: input.textContent
|
|
})
|
|
.then(async (response) => {
|
|
if (!response.ok) {
|
|
throw Error(await response.text());
|
|
}
|
|
|
|
return response.text();
|
|
})
|
|
.then((data) => {
|
|
input.innerText = data;
|
|
processInfo.innerText = "";
|
|
hljs.highlightElement(input);
|
|
})
|
|
.catch((error) => {
|
|
processInfo.innerHTML = "<b style='color: red'>" + error + "</b>";
|
|
console.error('Error:', error);
|
|
});
|
|
|
|
const end = new Date();
|
|
processInfo.innerHTML = "<b style='color: black'>Validation and formatting time:</b> <span style='color: green'>" + (end.getMilliseconds() - start.getMilliseconds()) + "ms</span>";
|
|
}
|
|
|
|
function minimizeJson(errorElement) {
|
|
const input = document.querySelector('#jsonBlock');
|
|
const processInfo = document.getElementById(errorElement);
|
|
|
|
try {
|
|
const start = new Date();
|
|
|
|
const obj = JSON.parse(input.textContent);
|
|
input.innerHTML = JSON.stringify(obj);
|
|
processInfo.innerText = "";
|
|
hljs.highlightElement(input);
|
|
|
|
const end = new Date();
|
|
processInfo.innerHTML = "<b style='color: black'>Validation and formatting time:</b> <span style='color: green'>"
|
|
+ (end.getMilliseconds() - start.getMilliseconds()) + "ms</span>";
|
|
} catch (error) {
|
|
processInfo.innerHTML = "<b style='color: red'>" + error + "</b>";
|
|
console.error("Error: ", error)
|
|
}
|
|
} |