基于json遍历的输出格式优化
来源:互联网 发布:乐乎公寓baidu 编辑:程序博客网 时间:2024/06/03 17:17
将JSON 转化为字符串简单,无论是Java 还是 Javascript.
java 中有许多关于json 操作的第三方类库:com.alibaba.fastjson.*;Javascript 中字符串与json之间相互转换可以通过JSON.stringify(JsonObj)、JSON.pares(JsonStr),或者使用第三方库JSON2.js 来操作;核心代码: var span =" "; /**遍历json*/ var scanJson = function(jsonObj,span){ var content="{\n"; for(var i in jsonObj){ var tempVal = jsonObj[i]; var text = i; content += (span+"\""+text+"\":");//key if((typeof tempVal) == "string"){ content += ("\""+tempVal+"\""); }else if((typeof tempVal) == "number" ||(typeof tempVal) == "boolean"){ content+=(tempVal+""); }else if(tempVal instanceof Array){ content += scanArray(tempVal,span+span); }else{//是json 对象 content+=scanJson(tempVal,span+span); } content+=",\n"; } //先减去个逗号 content = content.substring(0,content.length-2)+"\n"; content+=(span.substring(0,span.length-2)+"}"); return content; } /**对数组进行遍历*/ var scanArray = function(arrObj,span){ var content="["; for(var i in arrObj){ var tempVal = arrObj[i]; //if(tempVal instanceof String){ if((typeof tempVal) == "string"){ content+=("\""+tempVal+"\""); }else if((typeof tempVal) == "number" ||(typeof tempVal) == "boolean"){ content+=tempVal; }else if(tempVal instanceof Array){ content+= scanArray(tempVal,span+span); }else{//是json 对象 content+= scanJson(tempVal,span+span); } if(i!=arrObj.length-1) content+=",\n"+span; } content+=("\n"+span.substring(0,span.length-2)+"]"); return content; }
实例:
var json ={“name”:”dd”,”b”:123.6,”d”:true,”kk”:[“aa”,”cd”,12,{“tp”:12}],”dc”:{“cd”:12,”ll”:{“ds”:true}}};
var content = scanJson(json,”–”);
$(“#content”).val(content);
0 0
- 基于json遍历的输出格式优化
- 【json】输出json格式的数据
- javascript遍历json格式的数据
- jqgrid后台输出json的格式
- php 正确的输出json格式
- php输出json格式数据的例子
- Springmvc输出json格式的数据
- Fastjson 自定义 json 的 值输出格式
- Json 遍历和后台json格式的传递
- 遍历几种常见格式的json、AJAX和json
- 输出json格式数据
- ajax输出json格式
- SpringMVC Json格式输出
- Dataset 输出Json格式
- Json格式的遍历(不错的判断方式)
- 数组的遍历并按标准格式输出
- 二维数组的遍历并按标准格式输出
- GBK的页面输出JSON格式的php函数
- jacascript继承
- Android实战技巧之二十:两个开源的图表/报表控件
- POJ 2112 Optimal Milking 二分+二分图多重匹配,网络最大流
- Android studio快捷键大全 和 eclipse对照(转)
- Leetcode-标签为stack的easy题目列表
- 基于json遍历的输出格式优化
- Linux学习--gdb调试
- 在ROS中开始自主机器人仿真
- 09-进程间通信-无名管道(父子进程间)
- [BZOJ]2588: Spoj 10628. Count on a tree 主席树+LCA
- Python数据分析之pandas学习(一)
- vscode编辑markdown公式预览
- 1032. 挖掘机技术哪家强(20)
- [kuangbin带你飞]专题一 简单搜索 -G