格式化json

本文介绍了在JavaScript中如何将JSON对象格式化显示,通过遍历属性并进行缩进、换行处理,实现友好的JSON格式展示。文章提供了一段递归实现的代码,并提及了将格式化字符串转回JSON对象时去除多余换行和缩进的方法。
摘要由CSDN通过智能技术生成

我们知道,在js中JSON.parse(xxx)可以将符合json规则的字符串xxx转换成js对象,反过来,可以通过JSON.stringify(xxx)将json对象转换成js字符串。

可能有这样的需求,将json对象在web界面上以友好的方式展现出来,说得直白一点,就是带缩进的格式展示,而这个需求是JSON.parse()无法实现的,我们需要自己实现这个

功能。

思路很简单:遍历json对象的各个属性,进行缩进、换行拼接字符串,如果属性也是json对象,那么就多缩进一层,显然,这是一个递归。

下面直接给出代码(缩进采用\t,拼接字符串时处理了双引号这一种特殊字符,其他的特殊字符也可以参考双引号进行处理)

function formatJson(json, indent, returnStr) {
	var padding='\t';
	var type = typeof json;
	if(type=='object'){
		if(json instanceof Array){
			if(indent >0){
				var pad = "";
				for(var i=0;i<indent;i++){
					pad += padding;
				}
				returnStr +=pad;
			}
			returnStr +='[\r\n';
			var pad = "";
			for(var i=0;i<indent+1;i++){
				pad += padding;
			}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值