json格式化显示样式js代码分享
2023-09-14 09:02:06 时间
最近开发中需要在页面展示json。特整理了下代码,送给大家,希望能帮到有同样需求的朋友们。
代码:
html script src="http://cdn.bootcss.com/jquery/3.0.0-rc1/jquery.min.js" /script body span /span script //json格式化方法 参数1:json对象,参数2:缩进字符数 var JSONFormat = (function(){ var _toString = Object.prototype.toString; function format(object, indent_count){ var html_fragment = ; switch(_typeof(object)){ case Null :0 html_fragment = _format_null(object); break; case Boolean : html_fragment = _format_boolean(object); break; case Number : html_fragment = _format_number(object); break; case String : html_fragment = _format_string(object); break; case Array : html_fragment = _format_array(object, indent_count); break; case Object : html_fragment = _format_object(object, indent_count); break; return html_fragment; function _format_null(object){ return span null /span function _format_boolean(object){ return span + object + /span function _format_number(object){ return span + object + /span function _format_string(object){ object = object.replace(/\ /g," object = object.replace(/\ /g," if(0 = object.search(/^http/)){ object = a href=" + object + " target="_blank" + object + /a return span " + object + " /span function _format_array(object, indent_count){ var tmp_array = []; for(var i = 0, size = object.length; i size; ++i){ tmp_array.push(indent_tab(indent_count) + format(object[i], indent_count + 1)); return span data-type="array" data-size=" + tmp_array.length + " i /i [ br/ + tmp_array.join(, br/ ) + br/ + indent_tab(indent_count - 1) + ] /span function _format_object(object, indent_count){ var tmp_array = []; for(var key in object){ tmp_array.push( indent_tab(indent_count) + span " + key + " /span : + format(object[key], indent_count + 1)); return span data-type="object" i /i { br/ + tmp_array.join(, br/ ) + br/ + indent_tab(indent_count - 1) + } /span function indent_tab(indent_count){ return (new Array(indent_count + 1)).join( ); function _typeof(object){ var tf = typeof object, ts = _toString.call(object); return null === object ? Null : undefined == tf ? Undefined : boolean == tf ? Boolean : number == tf ? Number : string == tf ? String : [object Function] == ts ? Function : [object Array] == ts ? Array : [object Date] == ts ? Date : Object; function loadCssString(){ var style = document.createElement(style); style.type = text/css; var code = Array.prototype.slice.apply(arguments).join(); try{ style.appendChild(document.createTextNode(code)); }catch(ex){ style.styleSheet.cssText = code; document.getElementsByTagName(head)[0].appendChild(style); loadCssString( .json_key{ color: #92278f;font-weight:bold;}, .json_null{color: #f1592a;font-weight:bold;}, .json_string{ color: #3ab54a;font-weight:bold;}, .json_number{ color: #25aae2;font-weight:bold;}, .json_link{ color: #717171;font-weight:bold;}, .json_array_brackets{}); var _JSONFormat = function(origin_data){ this.data = JSON.parse(origin_data); _JSONFormat.prototype = { constructor : JSONFormat, toString : function(){ return format(this.data, 1); return _JSONFormat; })();
function showJson(demoJson) { var result = new JSONFormat(JSON.stringify(demoJson),4).toString() $(.result).html(result); showJson(demoJson); /script /body /html
相关文章
- JS - 判断字符串某个下标的值
- js 跨域问题
- Js中把JSON字符串转换为JSON对象(eval()、new Function())
- 微信QQ的二维码登录原理js代码解析
- Json对象与Json字符串互转(4种转换方式) jquery 以及 js 的方式
- Vue.js——60分钟快速入门
- java、js中实现无限层级的树形结构(类似递归)
- js-ECMAScript-5:常用的内置对象,数组,date,math,json,正则
- 在JavaScript中使用json.js:访问JSON编码的某个值
- [Node.js] Creating Demo APIs with json-server
- Node.js中package.json中库的版本号详解(^和~区别)
- js获取元素节点对象
- json格式化显示样式js代码分享
- js 数组、对象转json 以及json转 数组、对象
- 慕课网前端项目:Vue2.0+Node.js+MongoDB全栈打造商城系统 笔记 整理【6/18】
- js转化json的方法:JSON.stringify(str)
- 【带着canvas去流浪(11)】Three.js入门学习笔记
- JS推断是否为JSON对象及是否存在某字段
- js 图片轮转
- 关于 用 js 实现 快照功能
- js控制网页窗口一打开就自动全屏
- js-jquery-Validate校验【二】中文api
- JS json字符串转换
- js 数组、对象转json 以及json转 数组、对象
- 慕课网前端项目:Vue2.0+Node.js+MongoDB全栈打造商城系统 笔记 整理【4/18】
- JS截取字符串(3种方法)
- JS从0到1——823. 排列