- 浏览: 65776 次
- 性别:
- 来自: 重庆
文章分类
最新评论
-
xjwolaile:
哥哥 我太崇拜你了 我在网上找了3天的一个生成列子网上说的都不 ...
java生成json格式数据,一个简单的class,不需要第三方lib包支持 -
sp396635614:
楼主写的东西很有用~
mybatis输出SQL语句的log4j.properties
很简陋,不过一般应用足矣,有BUG麻烦说一声,尤其是字符串转义stringToJson函数(这个函数不是我写的,没测过),
/** * java生成json格式数据,一个简单的class,不需要第三方lib包支持 */ package lhp.code.tools; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; /** * JS数据交换格式 * @version v0.1 * @author longHP */ public class JsDataTools { /** * 获取js数据 * @param 元数据map * @return js数据 */ public synchronized static String getJsData(Object obj) { return createJsData(obj); } /** * 生成js数据 * @param 元数据map * @return js数据 */ @SuppressWarnings("unchecked") public static String createJsData(Object obj) { if (null == obj) { return "\"\""; } StringBuffer resultStr = new StringBuffer(); if (obj instanceof Collection) { // 集合List、Set等类型 resultStr.append("["); Collection collection = (Collection) obj; if (collection.size() > 0) { Object[] collectionObj = collection.toArray(); for (int i = 0; i < collectionObj.length; i++) { resultStr.append(createJsData(collectionObj[i]) + ","); } resultStr.deleteCharAt(resultStr.lastIndexOf(",")); } resultStr.append("]"); } else if (obj instanceof Map) { // Map类型 resultStr.append("{"); Map map = (Map) obj; if (map.size() > 0) { Iterator<Entry> iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = iter.next(); String key = entry.getKey().toString(); resultStr.append("\"" + key + "\":"); // jquery1.4以上要求双引号包裹 Object tempObj = entry.getValue(); resultStr.append(createJsData(tempObj) + ","); } resultStr.deleteCharAt(resultStr.lastIndexOf(",")); } resultStr.append("}"); } else { // 基本类型 try { int arrLength = Array.getLength(obj); resultStr.append("["); if (arrLength > 0) { for (int i = 0; i < arrLength; i++) { resultStr.append(createJsData(Array.get(obj, i)) + ","); } resultStr.deleteCharAt(resultStr.lastIndexOf(",")); } resultStr.append("]"); } catch (IllegalArgumentException e) { // 不是数组,是最基本的数据 resultStr.append("\"" + stringToJson(obj + "") + "\""); } } return resultStr.toString(); } /** * 处理特殊字符 * @param json字符串 * @return 处理过的字符串 */ public static String stringToJson(String str) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); switch (c) { case '\"': sb.append("\\\""); break; case '\\': sb.append("\\\\"); break; case '/': sb.append("\\/"); break; case '\b': sb.append("\\b"); break; case '\f': sb.append("\\f"); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; case '\t': sb.append("\\t"); break; default: sb.append(c); } } return sb.toString(); } @SuppressWarnings("unchecked") public static void main(String[] args) { // String obj = null; // if (Arrays.asList(obj).get(0) == null) { // System.out.println(Arrays.asList(obj).get(0)); // } // String str = "fds"; // java.lang.reflect.Array.getLength(str); Map<String, Object> map = new HashMap<String, Object>(); map.put("a", "1"); map.put("b", "2"); int[] intArr = {1,2,3}; // int[] intArr = new int[0]; // System.out.println(intArr.length); // System.out.println(Arrays.asList(intArr).get(0)); // java.lang.reflect.Array.getLength(intArr); map.put("intArr", intArr); Map childMap = new HashMap(); childMap.put(3, 5); childMap.put(7, new HashMap()); childMap.put(new Object(), intArr); map.put("map", childMap); List childList = new ArrayList(); childList.add(true); childList.add(new ArrayList()); childList.add(intArr); map.put("list1", childList); System.out.println(JsDataTools.getJsData(map)); } }
评论
1 楼
xjwolaile
2012-08-14
哥哥
我太崇拜你了
我在网上找了3天的一个生成列子网上说的都不知道是些什么
我也是个新手所以也不大明白
但是我看到了哥你 我忽然就像看到了希望一样
太谢谢你让我知道这样的一个生成方法
我太崇拜你了
我在网上找了3天的一个生成列子网上说的都不知道是些什么
我也是个新手所以也不大明白
但是我看到了哥你 我忽然就像看到了希望一样
太谢谢你让我知道这样的一个生成方法
发表评论
-
(转)5分钟构建spring web mvc REST风格HelloWorld
2013-12-27 17:28 0原文出处:http://jinnian ... -
(转)Spring集成MyBatis进行项目开发(三)
2013-12-27 17:26 793原文出处: http://wangjie2013.iteye ... -
(转)Spring集成MyBatis进行项目开发(二)
2013-12-27 17:24 629原文出处:http://wangjie2013.iteye. ... -
(转)Spring集成MyBatis进行项目开发(一)
2013-12-27 17:22 1186原文出处:http://wangjie2013.iteye. ... -
(转)注意Hibernate4在开发当中的一些改变
2013-12-27 17:17 7035原文出处:http://snake-hand.iteye. ... -
(转)windows下运行jar程序或java程序,引入多个lib包(jar包)以及配置文档的解决办法
2011-09-22 17:16 4330注意:复制以后请去掉注释,配置好JAVA_HOME环境变量,如 ... -
编码与格式化生成通用url的一些细节(中文url)
2011-04-04 14:02 8491.前台提交URL或PATH给后台处理时注意使用request ... -
web.xml 中 mime-mapping的使用
2011-01-12 15:12 996[size=medium] mime-mapping ... -
根据上排给出十个数,在其下排填出对应的十个数,要求下排每个数都是先前上排那十个数在下排出现的次数,java版本
2010-12-11 21:43 4739第6 题 给你10 分钟时间,根据上排给出十个数,在其下排填 ... -
在二元树中找出和为某一值的所有路径,java版本
2010-12-10 17:26 27704.在二元树中找出和为某一值的所有路径 题目:输入一个整数和 ... -
求子数组的最大和,java版本
2010-12-08 21:48 17513.求子数组的最大和 题目: 输入一个整形数组,数组里有正数也 ... -
设计包含min 函数的栈,java版本
2010-12-07 22:30 20932.设计包含min 函数的栈。 定义栈的数据结构,要求添加一个 ... -
把二元查找树转变成排序的双向链表,java版本
2010-12-07 22:25 19731.把二元查找树转变成排序的双向链表 题目: 输入一棵二元 ... -
实现tomcat启动时自动运行代码
2010-07-12 22:10 1400方法1:自动执行servlet 写一个servlet,在in ...
相关推荐
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC...
json_static.lib支持库中文名为易语言WEB客户支持库,本易语言支持库实现对json解析的支持。 JSON(JavaScript Object ...json_static.lib支持库为易语言第三方支持库静态版。 操作系统需求: Windows 易语言官方论坛
微信公众号采用web服务作为消息与第三方平台发生交互,数据格式主要是xml和json,普通的web请求响应机制采用xml数据格式交互,微信接口服务采用json数据格式。jwx主要对这两个方面做了封装处理,另外借鉴springmvc的...