js:上传json文件,并获取json文件内容,下载json文件

一、上传JSON文件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>File Upload Example</title>
</head>
<body>

	<input type="file" id="json-file-input" accept=".json">
	<p id="file-name"></p >
	
	<script>
		// 获取文件输入元素
		const fileInput = document.getElementById('json-file-input');
		// 监听change事件
		fileInput.addEventListener('change', function(event) {
			// 从事件对象中获取文件列表
			const file = event.target.files[0];
			// 检查是否选择了文件
			if (file) {
				// 获取文件名
				const fileName = file.name;
				// 显示文件名
				document.getElementById('file-name').textContent = '选中的文件名: ' + fileName;
			} else {
				// 清除文件名显示
				document.getElementById('file-name').textContent = '';
			}
		});
	</script>

</body>
</html>

二、获取JSON文件内容

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Import JSON to LocalStorage</title>
</head>
<body>

	<input type="file" id="json-file-input" accept=".json">
	<button onclick="importJsonToLocalStorage()">导入JSON到LocalStorage</button>

	<script>
		function importJsonToLocalStorage() {
			const fileInput = document.getElementById('json-file-input');
			const file = fileInput.files[0];
			
			if (file) {
				const reader = new FileReader();
				
				reader.onload = function(event) {
					try {
						const jsonData = JSON.parse(event.target.result);
						const jsonString = JSON.stringify(jsonData);
					
						// 保存JSON数据到localStorage
						localStorage.setItem('myJsonData', jsonString);
					
						alert('JSON数据已成功保存到LocalStorage!');
					} catch (error) {
						alert('无法解析JSON文件或保存数据到LocalStorage!');
					}
				};
				
				// 读取文件内容
				reader.readAsText(file);
			} else {
				alert('请选择一个JSON文件!');
			}
		}
	</script>

</body>
</html>

三、导出JSON文件

// 创建一个对象
let obj = {
	name: 'John',
	age: 30,
	city: 'New York'
};

// 转换为JSON字符串
let json = JSON.stringify(obj);

// 创建一个blob对象
let blob = new Blob([json], {type: 'application/json'});

// 创建一个链接元素
let link = document.createElement('a');

// 设置链接的href属性为blob的URL
link.href = URL.createObjectURL(blob);

// 设置下载的文件名
link.download = 'data.json';

// 触发下载
link.click();
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值