拆分json数据,重组打包成新的json数组

本文介绍了一种使用JavaScript处理JSON文件中日期数据的方法。通过分割字符串,将日期重新格式化为更易读的形式,并更新JSON数组。该过程展示了如何逐个元素地修改数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标

      主要想将本地json文件中时间键值对数据进行一个解析,拆分之后再重组成一个新的json数组。


方法

      网上找了很久没有一个具体的方案,就用了一个比较原始的方法,首先考虑到我的数据需求不是很麻烦就用了“split()”方法将json数组中对应的一个键值对“value”字符串分割成字符串数组。


代码

1、json
[
	{"year":"2017-09-01","value":"111"},
	{"year":"2017-10-01","value":"222"},
	{"year":"2017-11-01","value":"333"}
]
2、analysis.js
$.getJSON("js/date.json", function(json) {
		var jsonlen = json.length; //json长度为4
		alert(jsonlen);//打印长度
		
		for(var i = 0; i < jsonlen; i++) {
			var data = JSON.stringify(json[i].year);
			var value = JSON.stringify(json[i].value);
			var str = eval(data);

			var year = str.split('')[0] + str.split('')[1] + str.split('')[2] + str.split('')[3];

			if(str.split('')[5] != "0") {
				var month = str.split('')[5] + str.split('')[6];
			} else {
				var month = str.split('')[6];
			}

			if(str.split('')[8] != "0") {
				var day = str.split('')[8] + str.split('')[9];
			} else {
				var day = +str.split('')[9];
			}
			
			json[i].year = year + "年"; //依次将值赋值给json数组
		}
		
		var jsonString = JSON.stringify(json);
		alert(jsonString);
	
	})
3、JSON.js
$.fn.serializeObject = function()
{    
   var o = {};    
   var a = this.serializeArray();    
   $.each(a, function() {    
       if (o[this.name]) {    
           if (!o[this.name].push) {    
               o[this.name] = [o[this.name]];    
           }    
           o[this.name].push(this.value || '');    
       } else {    
           o[this.name] = this.value || '';    
       }    
   });    
   return o;    
}
4、html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			td{
				width: 100px;
			}
		</style>
	</head>
	<body>
		<table border="1" cellspacing="0" cellpadding="0">
			<tr>
				<td>year</td>
				<td id="year"></td>
			</tr>
			<tr>
				<td>month</td>
				<td id="month"></td>
			</tr>
			<tr>
				<td>day</td>
				<td id="day"></td>
			</tr>
		</table>
		
		<input type="button" id="getBtn" value="获取数据" />
		
		<script type="text/javascript" src="js/jquery.js" ></script>
		<script type="text/javascript" src="js/JSON.js" ></script>
		<script type="text/javascript" src="js/analysis.js" ></script>
	</body>
</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值