- 浏览: 274375 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
夏保森:
太简单了,而且不是太好用,我现在项目就是要实现这样一个功能,比 ...
前台拼接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 3956struts2中sort标签默认是按升序排列的,如果想按降序排 ... -
JSP版的完善KindEditor在线编辑器开源代码
2011-07-09 13:18 1535package com.elkan.kindeditor.up ... -
js浮动toolbar
2011-07-09 12:41 1883这几天做程序一直在找浮动的toolbar 找到个比较好的 ... -
json lib 转换时间
2010-11-11 01:53 2259Java对象中存在Date类型的对象无法进行解析,但是我又必须 ... -
There is a cycle in the hierarchy!
2010-11-07 20:39 2960在开发过程中遇到了一个JSON-LIB和Hibernate有关 ... -
struts2-json-plugin 使用
2010-06-07 20:10 4821为了方便ajax调用传输数据,在struts2中加入的json ... -
htmlparser使用(三)
2010-05-12 14:36 1080出处:http://blog.csdn.net/ ... -
htmlparser使用(二)
2010-05-12 14:31 1893这两天准备做一些网站编程的工作,于是对HtmlParse小研究 ... -
htmlparser的使用样例
2010-05-12 14:29 1377package test; import java. ... -
htmlparser使用(一)
2010-05-12 14:26 1387需要做一个垂直搜索引 ... -
Java把汉字转拼音
2009-06-16 16:12 7360/** * 汉字转换位汉语拼音,英文字符不变 ... -
对象转换成JSON字符串的方法
2009-05-21 12:10 2344import java.lang.reflect.Field; ... -
Java中的List排序
2009-04-27 01:03 1832//java list 排序 //关键词: j ... -
java中json处理的使用
2009-02-27 13:30 7327/** * Copyright (c) linkwise 2 ... -
Java操作json的通用类
2009-02-27 13:05 1573package com.baiyyy.polabs.util. ... -
JSON 字符串的工具
2009-02-27 12:53 1371import java.util.ArrayList; imp ... -
java常用函数收集(二)
2008-09-06 17:47 1375/** * 人民币转成大写 * ... -
java常用函数收集(一)
2008-08-23 12:18 1636Java代码 /** * ...
相关推荐
这里我们以nlohmann/json为例,它是一个轻量级且功能强大的JSON库,支持C++11及以上版本。 2. JSON对象与C++对象映射:在C++中,我们首先需要定义一个类,其成员变量对应于JSON对象的键值对。例如,如果JSON字符串...
此外,文章中还提供了一个 `ToJson` 方法,用于将单个对象转换为JSON字符串。这个方法同样依赖于反射,获取对象的所有属性并进行转换。对于DateTime、Guid、TimeSpan等特殊类型,它们会被转换为包含引号的字符串。...
`NSArray`用于存储有序的元素集合,而`NSDictionary`则用于存储键值对,它的键必须是不可变对象,而值可以是任意对象。 在iOS中,我们可以使用Foundation框架提供的`NSJSONSerialization`类来处理JSON数据。这个类...
3. **对象转JSON**:`任意对象转化为JSON .java` 文件可能涉及到了序列化和反序列化技术。Java的`com.google.gson`库或者`org.json`库可以将Java对象转化为JSON格式,便于数据交换或存储。 4. **日期方法**:`一组...
它支持各种复杂的Java类型,包括自定义类、泛型、枚举等,并且提供了丰富的API来处理JSON数据,比如`parseObject()`用于将JSON字符串解析为单个Java对象,`parse()`用于解析任意的JSON数据等。 在实际开发中,除了`...
在C#编程中,将任意类型的数据转换成JSON(JavaScript Object Notation)格式是一种...这些转换方法对于Web服务、API开发以及前后端数据交互至关重要,能够方便地将C#对象转化为JSON格式,以便于网络传输和数据交换。
// 将任意对象转换为Json字符串 public static String objectToJson(Object obj) { return gson.toJson(obj); } // 将Json字符串反序列化为指定类型的对象 public static <T> T jsonToObject(String json, ...
为此,我们需要一种自动化转换算法,将 JSON 对象转换为易语言的自定义数据类型。 **2. 生成算法简介** 算法的核心是通过 JavaScript 来读取和解析 JSON 数据,然后利用易语言的语法生成对应的自定义数据类型代码...
- **MaxJsonLength**: 由于默认情况下,`JavaScriptSerializer`处理的JSON字符串长度有限制,这里将其设置为`Int32.MaxValue`,以确保可以处理任意长度的JSON字符串。 - **ArrayList**: 使用`ArrayList`来存储每行...
例如,你有一个Java对象,可以通过`JSONObject`的构造函数将对象转化为JSON,然后调用`toString()`方法得到JSON字符串。 2. **反序列化**:将JSON字符串转换为Java对象。可以使用`JSONObject`的`getJSONObject()`或...
3. 封装JSON:使用`JSON.stringify()`函数将JavaScript对象转化为JSON字符串。 4. 错误处理:处理解析和封装时可能遇到的错误,如无效的JSON格式等。 5. 应用场景:通过实例展示JSON在Ajax请求、存储本地数据等方面...
2. **JSONArray**: 表示一个JSON数组,可以包含任意数量的JSON对象或值。和JSONObject类似,可以通过`put()`方法添加元素: ```java JSONArray arr = new JSONArray(); arr.put(new JSONObject().put("id", 1)....
通过自定义递归函数,我们可以有效地解析任意层次的嵌套JSON,将其转化为JavaScript对象,从而方便我们在程序中进行进一步的处理和操作。在实际编程中,理解并熟练掌握这一技巧,对于提升开发效率和代码质量有着重要...
- 将Java对象转换为JSON字符串:通过`Gson().toJson(object)`方法,我们可以轻松地将Java对象转化为JSON字符串。 - 将JSON字符串反序列化为Java对象:`Gson().fromJson(jsonString, Class)`方法可以将JSON字符串...
3. JSON字符串与Java对象的转换:`org.json`库提供了将Java对象转化为JSON字符串以及将JSON字符串解析为Java对象的方法。例如,`JSONObject.toString()`可以将JSONObject转化为字符串,而`new JSONObject(String str...
- JSON数据的解析:读取JSON格式的文件或字符串,并将其转化为Java对象。 - JSON数据的生成:从Java对象生成JSON格式的字符串或文件。 - 数据转换:可能提供了将特定数据结构(如CSV、XML)转换为JSON的功能。 - ...
在JSON上下文中,序列化是将JavaScript对象转化为JSON字符串,反序列化是从JSON字符串创建JavaScript对象。JSON序列化和反序列化的高效性使得它在Web应用中成为了XML的有力替代。 总之,JSON作为数据交换格式,因其...
实现此接口的类可以调用`toJSONString()`方法将其对象转化为JSON字符串。 4. **JSONTokener**:用于解析JSON文本,将其分解为一个个JSON组件。它可以从各种输入源(如字符串、InputStream或Reader)读取数据,并...
例如,JavaScript有内置的JSON对象,Python有json模块,Java有org.json或com.google.gson等库,这些库提供了将JSON字符串转化为对象和将对象转化为JSON字符串的功能。 4. 解析过程:解析JSON通常包括两个步骤:字符...
`JSON.parse()` 方法用于将JSON字符串转化为JavaScript对象,而 `JSON.stringify()` 方法则用于将JavaScript对象转化为JSON字符串。 4. **JSON编码与解码**: 当需要在网络间传输JSON数据时,通常会将其编码为字符...