GrandTabernacleAutoVI/tools/parsing_json.html
2023-12-25 16:14:16 +01:00

51 lines
1.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Conversion json to js let</title>
<script>
function convertInput() {
const jsonString = document.getElementById('jsonInput').value;
const z = document.getElementById('numberInput').value;
const data = JSON.parse(jsonString);
data.squares.forEach(s => {
if(s.h<0) {
s.h=-1*s.h
s.y=s.y-s.h
}
if(s.w<0) {
s.w=-1*s.w
s.x=s.x-s.w
}
})
const squareArray = data.squares.map(square => `new Square(${Math.round(square.x)},${Math.round(square.y)},${z},${Math.round(square.w)},${Math.round(square.h)})`);
const circleArray = data.circles.map(circle => `new Circle(${Math.round(circle.x)},${Math.round(circle.y)},${z},${Math.round(circle.r)})`);
const resultString = `let map${z}Squares = [${squareArray.join(',')}]<br>let map${z}Circles = [${circleArray.join(',')}]`;
document.getElementById('output').innerHTML = resultString;
}
</script>
</head>
<body>
<h1>Conversion json to js let</h1>
<label for="jsonInput">Entrée JSON :</label>
<textarea id="jsonInput" rows="5" cols="50" placeholder='{"squares":[{"x":100.96875,"y":64,"w":47,"h":45},{"x":280.96875,"y":46,"w":42,"h":39}],"circles":[{"x":882.96875,"y":133,"r":14.142135623730951},{"x":890.96875,"y":249,"r":17.029386365926403}]}'></textarea>
<br>
<label for="numberInput">z :</label>
<input type="number" id="numberInput" placeholder="Entrez le z de la map">
<br>
<button onclick="convertInput()">Convertir</button>
<h2>Résultat :</h2>
<div id="output"></div>
</body>
</html>