背景:
	  有时候我们需要将json数据直接显示在页面上(比如在做一个接口测试的项目,需要将接口返回的结果直接展示),但是如果直接显示字符串,不方便查看。需要格式化一下。
	  解决方案:
	  其实JSON.stringify本身就可以将JSON格式化,具体的用法是:
	  JSON.stringify(res,null,2);//res是要JSON化的对象,2是spacing
	  如果想要效果更好看,还要加上格式化的代码和样式:
	  js代码:
	  functionsyntaxHighlight(json){
	  if(typeofjson!='string'){
	  json=JSON.stringify(json,undefined,2);
	  }
	  json=json.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
	  returnjson.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,function(match){
	  varcls='number';
	  if(/^"/.test(match)){
	  if(/:$/.test(match)){
	  cls='key';
	  }else{
	  cls='string';
	  }
	  }elseif(/true|false/.test(match)){
	  cls='boolean';
	  }elseif(/null/.test(match)){
	  cls='null';
	  }
	  return'<spanclass="'+cls+'">'+match+'</span>';
	  });
	  }
	  样式代码:
	  <style>
	  pre{outline:1pxsolid#ccc;padding:5px;margin:5px;}
	  .string{color:green;}
	  .number{color:darkorange;}
	  .boolean{color:blue;}
	  .null{color:magenta;}
	  .key{color:red;}
	  </style>
	  html代码:
	  <preid="result">
	  </pre>
	  调用代码:
	  $('#result').html(syntaxHighlight(res));
	
	

	
	
	
本文转载自中文网
	 
     

本文转载自中文网
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html5/h55012.shtml








