diff --git a/Frontend/assets/css/json.css b/Frontend/assets/css/json.css new file mode 100644 index 0000000..46c6686 --- /dev/null +++ b/Frontend/assets/css/json.css @@ -0,0 +1,4 @@ +.json-block { + height: 600px; + width: 100%; +} \ No newline at end of file diff --git a/Frontend/assets/scripts/tools/json.js b/Frontend/assets/scripts/tools/json.js new file mode 100644 index 0000000..5528adc --- /dev/null +++ b/Frontend/assets/scripts/tools/json.js @@ -0,0 +1,29 @@ +function formatAndValidateJson(errorElement) { + const input = document.querySelector('#jsonBlock'); + const errorOutput = document.getElementById(errorElement); + + try { + const obj = JSON.parse(input.textContent); + input.innerHTML = JSON.stringify(obj, null, 2); + errorOutput.innerText = ""; + hljs.highlightElement(input); + } catch (error) { + errorOutput.innerText = error; + console.error("Error: ", error) + } +} + +function minimizeJson(errorElement) { + const input = document.querySelector('#jsonBlock'); + const errorOutput = document.getElementById(errorElement); + + try { + const obj = JSON.parse(input.textContent); + input.innerHTML = JSON.stringify(obj); + errorOutput.innerText = ""; + hljs.highlightElement(input); + } catch (error) { + errorOutput.innerText = error; + console.error("Error: ", error) + } +} \ No newline at end of file diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index d464330..5b715bc 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -43,6 +43,10 @@ function setDefaultContent(element, text) { element.style.color = color_grey; element.value = text; } + if (id == "jsonArea") { + element.style.color = color_grey; + element.value = text; + } } } diff --git a/Frontend/index.html b/Frontend/index.html index bcee87d..f571ce3 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -25,7 +25,8 @@
  • XPath
  • XSLT
  • XSD
  • -
  • Formatter
  • +
  • XML Formatter
  • +
  • JSON Formatter