- 浏览: 270118 次
- 性别:
- 来自: 苏州
-
文章分类
最新评论
-
夏保森:
太简单了,而且不是太好用,我现在项目就是要实现这样一个功能,比 ...
前台拼接SQL语句 -
人参萝卜:
楼主你好,想要一下这个样例工程的源码,能否分享一下,多谢多谢! ...
MxGraph web流程设计器破解 -
814292160:
为什么解压不了
extjs多文件上传 -
dongqing82585061:
楼主你好,能给份这个demo给我吗?现在我刚好需要实现类似的效 ...
MxGraph web流程设计器破解 -
ddccjjwwjj:
在JBPM中你的连线坐标根本无法做到JBPM的效果 全部会变形 ...
MxGraph web流程设计器破解
import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; /** * 序列化对象为JSON格式 遵循JSON组织公布标准 * * @date 2008/05/07 * @version 1.0.0 */ public class Json { /** Commons Logging instance. */ private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(Json.class); /** * @param obj 任意对象 * @return String */ public static String object2json(Object obj) { StringBuilder json = new StringBuilder(); if (obj == null) { json.append("\"\""); } else if (obj instanceof String || obj instanceof Integer || obj instanceof Float || obj instanceof Boolean || obj instanceof Short || obj instanceof Double || obj instanceof Long || obj instanceof BigDecimal || obj instanceof BigInteger || obj instanceof Byte) { json.append("\"").append(string2json(obj.toString())).append("\""); } else if (obj instanceof Object[]) { json.append(array2json((Object[]) obj)); } else if (obj instanceof List) { json.append(list2json((List<?>) obj)); } else if (obj instanceof Map) { json.append(map2json((Map<?, ?>) obj)); } else if (obj instanceof Set) { json.append(set2json((Set<?>) obj)); } else { json.append(bean2json(obj)); } return json.toString(); } /** * @param bean bean对象 * @return String */ public static String bean2json(Object bean) { StringBuilder json = new StringBuilder(); json.append("{"); PropertyDescriptor[] props = null; try { props = Introspector.getBeanInfo(bean.getClass(), Object.class).getPropertyDescriptors(); } catch (IntrospectionException e) { } if (props != null) { for (int i = 0; i < props.length; i++) { try { String name = object2json(props[i].getName()); String value = object2json(props[i].getReadMethod().invoke(bean)); json.append(name); json.append(":"); json.append(value); json.append(","); } catch (Exception e) { } } json.setCharAt(json.length() - 1, '}'); } else { json.append("}"); } return json.toString(); } /** * @param list list对象 * @return String */ public static String list2json(List<?> list) { StringBuilder json = new StringBuilder(); json.append("["); if (list != null && list.size() > 0) { for (Object obj : list) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param array 对象数组 * @return String */ public static String array2json(Object[] array) { StringBuilder json = new StringBuilder(); json.append("["); if (array != null && array.length > 0) { for (Object obj : array) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param map map对象 * @return String */ public static String map2json(Map<?, ?> map) { StringBuilder json = new StringBuilder(); json.append("{"); if (map != null && map.size() > 0) { for (Object key : map.keySet()) { json.append(object2json(key)); json.append(":"); json.append(object2json(map.get(key))); json.append(","); } json.setCharAt(json.length() - 1, '}'); } else { json.append("}"); } return json.toString(); } /** * @param set 集合对象 * @return String */ public static String set2json(Set<?> set) { StringBuilder json = new StringBuilder(); json.append("["); if (set != null && set.size() > 0) { for (Object obj : set) { json.append(object2json(obj)); json.append(","); } json.setCharAt(json.length() - 1, ']'); } else { json.append("]"); } return json.toString(); } /** * @param s 参数 * @return String */ public static String string2json(String s) { if (s == null) return ""; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); switch (ch) { 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; case '/': sb.append("\\/"); break; default: if (ch >= '\u0000' && ch <= '\u001F') { String ss = Integer.toHexString(ch); sb.append("\\u"); for (int k = 0; k < 4 - ss.length(); k++) { sb.append('0'); } sb.append(ss.toUpperCase()); } else { sb.append(ch); } } } return sb.toString(); } }
发表评论
-
Struts2中list排序 sort标签按降序排列
2011-07-18 03:01 3933struts2中sort标签默认是按升序排列的,如果想按降序排 ... -
JSP版的完善KindEditor在线编辑器开源代码
2011-07-09 13:18 1478package com.elkan.kindeditor.up ... -
js浮动toolbar
2011-07-09 12:41 1851这几天做程序一直在找浮动的toolbar 找到个比较好的 ... -
json lib 转换时间
2010-11-11 01:53 2224Java对象中存在Date类型的对象无法进行解析,但是我又必须 ... -
There is a cycle in the hierarchy!
2010-11-07 20:39 2927在开发过程中遇到了一个JSON-LIB和Hibernate有关 ... -
struts2-json-plugin 使用
2010-06-07 20:10 4803为了方便ajax调用传输数据,在struts2中加入的json ... -
htmlparser使用(三)
2010-05-12 14:36 1045出处:http://blog.csdn.net/ ... -
htmlparser使用(二)
2010-05-12 14:31 1858这两天准备做一些网站编程的工作,于是对HtmlParse小研究 ... -
htmlparser的使用样例
2010-05-12 14:29 1357package test; import java. ... -
htmlparser使用(一)
2010-05-12 14:26 1347需要做一个垂直搜索引 ... -
Java把汉字转拼音
2009-06-16 16:12 7317/** * 汉字转换位汉语拼音,英文字符不变 ... -
对象转换成JSON字符串的方法
2009-05-21 12:10 2320import java.lang.reflect.Field; ... -
Java中的List排序
2009-04-27 01:03 1795//java list 排序 //关键词: j ... -
java中json处理的使用
2009-02-27 13:30 7300/** * Copyright (c) linkwise 2 ... -
Java操作json的通用类
2009-02-27 13:05 1527package com.baiyyy.polabs.util. ... -
JSON 字符串的工具
2009-02-27 12:53 1337import java.util.ArrayList; imp ... -
java常用函数收集(二)
2008-09-06 17:47 1347/** * 人民币转成大写 * ... -
java常用函数收集(一)
2008-08-23 12:18 1612Java代码 /** * ...
相关推荐
json 字符串转成c++类对象,json 字符串转成c++类对象
GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面这几...
C#Json解析类,使用本文中的JSONConvert类可将任意JSON字符串转化为JSONObject或JSONArray对象,并获取需要的值,克服了.NET自带JSON类反序列化时需知道并引用序列化时使用的类的缺点。当然,也可以使用JSONConvert...
Python的dict的key可以是任意可hash对象,json只能是字符串。形式上有些相像,但json是纯文本的,无法直接操作 json的格式要求必须且只能使用双引号作为key或者值的边界符号,不能使用单引号,但dict就无所谓了。 ...
该库最近更新为4.0.0。 请参阅“以了解如何将项目从3. *迁移到4.0.0。 不必担心,对于大多数现有项目,只有类名会更改。 产品特点 在一般情况下,将QObjects,Q_GADGETS,列表,映射等序列化为JSON / CBOR ...当然...
为了应用的通用性,首先要根据反射机制,能将要返回的任意类型的结果对象转化成Json类型的格式。 public static String toJSON(Object obj) { HashMap map = new HashMap(); Class c = obj.getClass(); // 利用反射...
此外,eval 函数也可以用于将字符串形式的 JSON 数据转换为 JavaScript 对象。 2. isFinite 函数 isFinite 函数⽤来确定参数是否是⼀个有限数值,其中 number 参数是必选项,可以是任意的数值。如果该参数为⾮数字...
使用本文中的JSONConvert类可将任意JSON字符串转化为JSONObject或JSONArray对象,并获取需要的值,克服了.NET自带JSON类反序列化时需知道并引用序列化时使用的类的缺点。当然,也可以使用JSONConvert类进行序列化,...
数据映射:AutoMapper,主要用于数据传输对象DTO与数据实体模型Model之间的相互转化,免于繁杂的对象属性赋值 IoC组件:Autofac,定义了一个专用于处理映射的空接口IDependency,用于处理IoC接口与实现的批量映射,...
数据映射:AutoMapper,主要用于数据传输对象DTO与数据实体模型Model之间的相互转化,免于繁杂的对象属性赋值 IoC组件:Autofac,定义了一个专用于处理映射的空接口IDependency,用于处理IoC接口与实现的批量映射,...
将对象和变量转化成二进制,并将二进制转回变量和对象。 拆分,如字符串。 4.3 SNMFC 一 网络功能 网络基本功能:如获取本机IP,通过域名获取IP,IE版本。 HTML对话框的封装类。 用于服务端的,带“回调...
知识点:序列化是将对象转化为可传输的字节序列过程,反序列化是将字节序列还原为对象的过程。序列化和反序列化是许多编程语言中的基本概念。 14. 常见的中间件漏洞? 知识点:中间件漏洞包括 IISPUT 漏洞、短...
11.2.3 创建任意对象 278 11.3 小结 280 第12章 单元测试 281 12.1 单元测试和测试驱动开发的意义 282 12.1.1 单元测试的定义 282 12.1.2 测试驱动开发的定义 283 12.2 创建单元测试项目 286 12.2.1 检查默认...
-将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法...
-将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法...