欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  背景:
 
  有时候我们需要将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