Program7
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON, CSV, Hash Operations</title>
<style>
body { font-family: Arial, sans-serif; padding: 20px; background-
color: #f4f4f4; }
textarea { width: 100%; height: 100px; }
button { padding: 10px; background-color: #4CAF50; color: white;
border: none; cursor: pointer; }
button:hover { background-color: #45a049; }
.output { margin-top: 20px; }
</style>
</head>
<body>
<h2>JSON and CSV Operations</h2>
<!-- Convert JSON text to JavaScript Object -->
<h3>1. JSON to JavaScript Object</h3>
<textarea id="jsonInput" placeholder='{"name": "John", "age":
30}'></textarea><br>
<button onclick="jsonToObject()">Convert JSON to Object</button>
<div id="jsonObjectResult" class="output"></div>
<!-- Convert JSON to Date -->
<h3>2. JSON to Date</h3>
<textarea id="jsonDateInput" placeholder='{"date": "2024-11-
24T12:00:00Z"}'></textarea><br>
<button onclick="jsonToDate()">Convert JSON to Date</button>
<div id="jsonDateResult" class="output"></div>
<!-- Convert JSON to CSV -->
<h3>3. JSON to CSV</h3>
<textarea id="jsonForCsv" placeholder='[{"name": "John", "age": 30}, {"name":
"Jane", "age": 25}]'></textarea><br>
<button onclick="jsonToCsv()">Convert JSON to CSV</button>
<div id="csvResult" class="output"></div>
<!-- Convert CSV to JSON -->
<h3>4. CSV to JSON</h3>
<textarea id="csvInput"
placeholder='name,age\nJohn,30\nJane,25'></textarea><br>
<button onclick="csvToJson()">Convert CSV to JSON</button>
<div id="csvJsonResult" class="output"></div>
<!-- Create Hash -->
<h3>5. Create Hash from String</h3>
<textarea id="hashInput" placeholder="Enter string to hash"></textarea><br>
<button onclick="createHash()">Generate Hash</button>
<div id="hashResult" class="output"></div>
<script>
// Convert JSON to JavaScript Object
function jsonToObject() {
const jsonText = document.getElementById('jsonInput').value;
try {
const obj = JSON.parse(jsonText);
document.getElementById('jsonObjectResult').innerText =
JSON.stringify(obj, null, 2);
} catch (e) {
document.getElementById('jsonObjectResult').innerText = 'Invalid
JSON';
}
}
// Convert JSON to Date
function jsonToDate() {
const jsonText = document.getElementById('jsonDateInput').value;
try {
const obj = JSON.parse(jsonText);
const date = new Date(obj.date);
document.getElementById('jsonDateResult').innerText = date.toString();
} catch (e) {
document.getElementById('jsonDateResult').innerText = 'Invalid JSON or
Date';
}
}
// Convert JSON to CSV
function jsonToCsv() {
const jsonText = document.getElementById('jsonForCsv').value;
try {
const obj = JSON.parse(jsonText);
const keys = Object.keys(obj[0]);
const csv = [
keys.join(','),
...obj.map(e => keys.map(k => e[k]).join(','))
].join('\n');
document.getElementById('csvResult').innerText = csv;
} catch (e) {
document.getElementById('csvResult').innerText = 'Invalid JSON';
}
}
// Convert CSV to JSON
function csvToJson() {
const csvText = document.getElementById('csvInput').value;
const lines = csvText.split('\n');
const headers = lines[0].split(',');
const json = lines.slice(1).map(line => {
const values = line.split(',');
return headers.reduce((acc, header, i) => {
acc[header] = values[i];
return acc;
}, {});
});
document.getElementById('csvJsonResult').innerText = JSON.stringify(json,
null, 2);
}
// Create Hash using crypto.createHash()
function createHash() {
const crypto = require('crypto');
const str = document.getElementById('hashInput').value;
const hash = crypto.createHash('sha256').update(str).digest('hex');
document.getElementById('hashResult').innerText = hash;
}
</script>
</body>
</html>
Comments
Post a Comment