javascript格式化json显示实例分析

   javascript格式化json显示

         实例分析了javascript操作json格式化的相关技巧,非常具有实用价值,需要的朋友可以参考下

  本文实例讲述了javascript格式化json显示方法。分享给大家供大家参考。具体分析如下:

  将json对象或者json字符串格式化方便在网页上限制

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

var formatJson = function(json, options) {
var reg = null,
formatted = '',
pad = 0,
PADDING = '';
//one can also use 't' or a different number of spaces
// optional settings
options = options || {};
// remove newline where '{' or '[' follows ':'
options.newlineAfterColonIfBeforeBraceOrBracket = (options.newlineAfterColonIfBeforeBraceOrBracket === true) ? true : false;
// use a space after a colon
options.spaceAfterColon = (options.spaceAfterColon === false) ? false : true;
// begin formatting...
if (typeof json !== 'string') {
// make sure we start with the JSON as a string
json = JSON.stringify(json);
} else {
// is already a string, so parse and re-stringify
//in order to remove extra whitespace
json = JSON.parse(json);
json = JSON.stringify(json);
}
// add newline before and after curly braces
reg = /([{}])/g;
json = json.replace(reg, 'rn$1rn');
// add newline before and after square brackets
reg = /([[]])/g;
json = json.replace(reg, 'rn$1rn');
// add newline after comma
reg = /(,)/g;
json = json.replace(reg, '$1rn');
// remove multiple newlines
reg = /(rnrn)/g;
json = json.replace(reg, 'rn');
// remove newlines before commas
reg = /rn,/g;
json = json.replace(reg, ',');
// optional formatting...
if (!options.newlineAfterColonIfBeforeBraceOrBracket) {
reg = /:rn{/g;
json = json.replace(reg, ':{');
reg = /:rn[/g;
json = json.replace(reg, ':[');
}
if (options.spaceAfterColon) {
reg = /:/g;
json = json.replace(reg, ': ');
}
$.each(json.split('rn'), function(index, node) {
var i = 0,
indent = 0,
padding = '';
if (node.match(/{$/) || node.match(/[$/)) {
indent = 1;
} else if (node.match(/}/) || node.match(/]/)) {
if (pad !== 0) {
pad -= 1;
}
} else {
indent = 0;
}
for (i = 0; i < pad; i++) {
padding += PADDING;
}
formatted += padding + node + 'rn';
pad += indent;
});
return formatted;
};

  希望本文所述对大家的javascript程序设计有所帮助。

时间: 2024-09-10 14:40:39

javascript格式化json显示实例分析的相关文章

javascript格式化json显示实例分析_javascript技巧

本文实例讲述了javascript格式化json显示方法.分享给大家供大家参考.具体分析如下: 将json对象或者json字符串格式化方便在网页上限制 var formatJson = function(json, options) { var reg = null, formatted = '', pad = 0, PADDING = ''; //one can also use '\t' or a different number of spaces // optional settings

javascript显式类型转换实例分析

  javascript显式类型转换实例分析         这篇文章主要介绍了javascript显式类型转换,实例分析了javascript实现类型转换的常用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了javascript显式类型转换的方法.分享给大家供大家参考.具体分析如下: 尽管js可以做许多自动类型转换,但某些时候仍然需要做显示类型转换或为了代码逻辑清晰易读而做显示类型转换. 做显示类型转换最简单的方法就是用Boolean().Number().String()或Obj

Javascript中innerHTML用法实例分析

 这篇文章主要介绍了Javascript中innerHTML用法,实例分析了实用innerHTML获取对应元素内容的使用技巧,需要的朋友可以参考下     本文实例讲述了Javascript中innerHTML用法.分享给大家供大家参考. 具体实现方法如下:   代码如下: <html> <head> <script type="text/javascript"> function t(){ var cont = document.getElemen

jQuery解析XML与传统JavaScript方法的差别实例分析

 这篇文章主要介绍了jQuery解析XML与传统JavaScript方法的差别,实例分析了jQuery与javascript解析XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery解析XML与传统JavaScript方法的差别.分享给大家供大家参考.具体分析如下: 1. 传统javascript方法: ? 1 2 3 4 5 6 7 8 9 10 11 var xmlDoc = request.responseXML; try // Build Mar

PHP针对JSON操作实例分析

 这篇文章主要介绍了PHP针对JSON操作的常用方法,实例分析了json转数组.数组转json等技巧与相关注意事项,需要的朋友可以参考下     本文实例分析了PHP针对JSON操作.分享给大家供大家参考.具体分析如下: 由于JSON可以在很多种程序语言中使用,所以我们可以用来做小型数据中转,如:PHP输出JSON字符串供JavaScript使用等.在PHP中可以使用 json_decode() 由一串规范的字符串解析出 JSON对象,使用 json_encode() 由JSON 对象生成一串规

PHP针对JSON操作实例分析_php技巧

本文实例分析了PHP针对JSON操作.分享给大家供大家参考.具体分析如下: 由于JSON可以在很多种程序语言中使用,所以我们可以用来做小型数据中转,如:PHP输出JSON字符串供JavaScript使用等.在PHP中可以使用 json_decode() 由一串规范的字符串解析出 JSON对象,使用 json_encode() 由JSON 对象生成一串规范的字符串. 例: 复制代码 代码如下: <?php $json = '{"a":1, "b":2, &quo

jQuery解析json数据实例分析_jquery

本文实例分析了jQuery解析json数据的方法.分享给大家供大家参考,具体如下: 先来看看我们的Json数据格式: [ {id:01,name:"小白",old:29,sex:"男"}, {id:02,name:"小蓝",old:29,sex:"男"}, {id:03,name:"小雅",old:29,sex:"男"} ] 为了消除乱码问题,我们设置一个过滤器(代码片段) public

JavaScript中继承用法实例分析

  本文实例分析了JavaScript中继承的用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 // define the Person Class function Person() {} Person.prototype.walk = function(){ alert ('I am walking!'); }; Person

JavaScript事件委托技术实例分析_javascript技巧

本文实例分析了JavaScript事件委托技术.分享给大家供大家参考.具体分析如下: 如果一个整体页面里有大量的按钮.我们就要为每一个按钮绑定事件处理程序.这样就会影响性能了. 首先每个函数都是对象,对象就会占用很多内存.内存中的对象越多,性能就越差. 其次,dom访问次数增多,就会导致延迟加载页面.事实上,从如何来利用好事件处理程序,还是有很好的解决方案的. 事件委托: 对事件处理程序过多的问题解决的方案就是事件委托技术. 事件委托技术利用了事件冒泡.只需指定一个事件处理程序. 我们可以为某个