UNPKG

jsoneditor

Version:

A web-based tool to view, edit, format, and validate JSON

78 lines (66 loc) 2.04 kB
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>JSONEditor | Load and save</title> <link href="../dist/jsoneditor.css" rel="stylesheet" type="text/css"> <script src="../dist/jsoneditor.js"></script> <script src="https://bgrins.github.io/filereader.js/filereader.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.min.js"></script> <style> html, body { font: 11pt sans-serif; } #jsoneditor { width: 500px; height: 500px; } </style> </head> <body> <h1>Load and save JSON documents</h1> <p> This examples uses HTML5 to load/save local files. Powered by <a href="http://bgrins.github.io/filereader.js/">FileReader.js</a> and <a href="https://github.com/eligrey/FileSaver.js">FileSaver.js</a>.<br> Only supported on modern browsers (Chrome, FireFox, IE10+, Safari 6.1+, Opera 15+). </p> <p> Load a JSON document: <input type="file" id="loadDocument" value="Load"/> </p> <p> Save a JSON document: <input type="button" id="saveDocument" value="Save" /> </p> <div id="jsoneditor"></div> <script> // create the editor const editor = new JSONEditor(document.getElementById('jsoneditor')) // Load a JSON document FileReaderJS.setupInput(document.getElementById('loadDocument'), { readAsDefault: 'Text', on: { load: function (event, file) { editor.setText(event.target.result) } } }) // Save a JSON document document.getElementById('saveDocument').onclick = function () { // Save Dialog let fname = window.prompt("Save as...") // Check json extension in file name if (fname.indexOf(".") === -1) { fname = fname + ".json" } else { if (fname.split('.').pop().toLowerCase() === "json") { // Nothing to do } else { fname = fname.split('.')[0] + ".json" } } const blob = new Blob([editor.getText()], {type: 'application/json;charset=utf-8'}) saveAs(blob, fname) } </script> </body> </html>