格式化JSON的方法
2015-07-31 15:22
495 查看
var jsl = typeof jsl === 'undefined' ? {}: jsl; jsl.format = (function() { function repeat(s, count) { return new Array(count + 1).join(s) } function formatJson(json) { var i = 0, il = 0, tab = " ", newJson = "", indentLevel = 0, inString = false, currentChar = null; for (i = 0, il = json.length; i < il; i += 1) { currentChar = json.charAt(i); switch (currentChar) { case '{': case '[': if (!inString) { newJson += currentChar + "\n" + repeat(tab, indentLevel + 1); indentLevel += 1 } else { newJson += currentChar } break; case '}': case ']': if (!inString) { indentLevel -= 1; newJson += "\n" + repeat(tab, indentLevel) + currentChar } else { newJson += currentChar } break; case ',': if (!inString) { newJson += ",\n" + repeat(tab, indentLevel) } else { newJson += currentChar } break; case ':': if (!inString) { newJson += ": " } else { newJson += currentChar } break; case ' ': case "\n": case "\t": if (inString) { newJson += currentChar } break; case '"': if (i > 0 && json.charAt(i - 1) !== '\\') { inString = !inString } newJson += currentChar; break; default: newJson += currentChar; break } } return newJson } return { "formatJson": formatJson } } ());
调用如下:
jsonVal = jsl.format.formatJson($('#json_input').val());
相关文章推荐
- js控制表格静态分页显示
- 用Notepad++格式化js代码
- js操作cookies方法!
- JavaScript实现图片轮播的方法
- Jsoup解析html
- js常用正则
- JSP转译成Servlet详细过程【转】
- JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
- 要在jsp界面上显示一行三个控件
- 网页制作实践步骤二 主页
- JavaScript变量提升-Hoisting
- 常用排序算法之JavaScript实现
- JS:var 变量=变量 && 变量
- 【第一篇】Volley的使用之json请求
- JS知识一:系统知识笔记总结
- JS操作JSON总结
- 离线地图应用offline-editor-js
- phantomjs使用说明
- PhantomJS:基于WebKit、开源的服务器端JavaScript API
- js添加onclick函数