`
段海波
  • 浏览: 315727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

List、Object转换为Json格式字符串

    博客分类:
  • j2ee
阅读更多

在项目中经常要用到ajax读取后台数据,而json格式的数据呢又比较容易操作,所以首选把后台读取到的数据转为json格式来处理。下面为一个json操作类

package dsh.bikegis.tool;

import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.util.List;

/**
 * json的操作类
 * @author NanGuoCan
 *
 */
public class JsonUtil {
	  
	    /**
	      * @param object
	      *             任意对象
	      * @return java.lang.String
	      */  
	    public static String objectToJson(Object object) {   
	         StringBuilder json = new StringBuilder();   
	        if (object == null) {   
	             json.append("\"\"");   
	         } else if (object instanceof String || object instanceof Integer) { 
	             json.append("\"").append(object.toString()).append("\"");  
	         } else {   
	             json.append(beanToJson(object));   
	         }   
	        return json.toString();   
	     }   
	  
	    /**
	      * 功能描述:传入任意一个 javabean 对象生成一个指定规格的字符串
	      *
	      * @param bean
	      *             bean对象
	      * @return String
	      */  
	    public static String beanToJson(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 = objectToJson(props[i].getName());   
	                     String value = objectToJson(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();   
	     }   
	  
	    /**
	      * 功能描述:通过传入一个列表对象,调用指定方法将列表中的数据生成一个JSON规格指定字符串
	      *
	      * @param list
	      *             列表对象
	      * @return java.lang.String
	      */  
	    public static String listToJson(List<?> list) {   
	         StringBuilder json = new StringBuilder();   
	         json.append("[");   
	        if (list != null && list.size() > 0) {   
	            for (Object obj : list) {   
	                 json.append(objectToJson(obj));   
	                 json.append(",");   
	             }   
	             json.setCharAt(json.length() - 1, ']');   
	         } else {   
	             json.append("]");   
	         }   
	        return json.toString();   
	     }
}
 以后要想把一个list对象或者任意格式的对象转换为json格式的字符串的话就可以使用此助手类了
分享到:
评论
3 楼 孟明视 2015-08-16  
挺实用的。不用自己拼了。直接做成工具类调用。。
2 楼 yjb8119010 2012-11-15  
看着挺好的,先收了再说。
1 楼 sunnygql 2012-02-03  
刚开始搞这块,用了很不错。呵呵!

相关推荐

    ajax json java 用法 json 将List、Object转换为Json格式字符串

    ajax json java 用法 json 将List、Object转换为Json格式字符串

    java实现将实体类list集合,转化成geojson字符串

    GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面这几...

    Unity3D中任意类型数据转换成json数据的方法2

    Unity3D中任意类型数据转换成json数据的方法 Posted on 2013年03月20日 by U3d / Unity3D脚本/插件/被围观 275 次

    java jsonto对象互转

    * 将java对象转换成json字符串,并设定日期格式 * * @param javaObj * 要转换的java对象 * @param dataFormat * 制定的日期格式 * @return */ public static String objectToJson(Object javaObj, String ...

    2017XML字符串转对象Object 实现工具

    实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;HEADER NAME="HEADERname" name_cn="头名称"&gt;标签text...

    json数组转化为list-Python入门进阶教程-JSON操作.pdf

    JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是⼀种轻量级、跨平台、跨语⾔的数据交换格式,其设 计意图是把所有事情都⽤设计的字符串来表⽰,这样既⽅便在互联⽹上传递信息,也⽅便⼈进...

    实例详解JSON数据格式及json格式数据域字符串相互转换

    不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 2. 值

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    Json格式的字符串转成List、Array、Map、Object、List&lt;Object&gt;等,就是各种字符串转其他格式的方法.有个封装好的转换方法和一个我自己做的示例

    22-ajax-源代码.rar

    案例2-站内查询。 一、Ajax概述 二、js原生的Ajax技术(了解) 三、Json数据格式(重要...注意:json的key是字符串 jaon的value是Object json的解析: json是js的原生内容,也就意味着js可以直接取出json对象中的数据

    JSON 数据格式详解

    基础结构 JSON建构于两种结构: 1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象...简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以

    json-patch-convertor:一个实用程序库,它将Jackson注释的域对象转换为遵循RFC6902(https

    概述该项目旨在提供一种方便的方式来... 如果您想要结果的java.util类,可以在将其转换为字符串之前轻松对其进行操作,则可以使用以下命令: List&lt;Map&gt;&gt; result = ObjectToPatchMap.parseFreshObject(person1);用例2

    python读写json文件的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本... json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和pyth

    JSONBuilder - C#扩展版

    - 支持任意扩展,通过注册自定义类型的转换方法(参看JSONBuilderTest.cs 和 JSONBuilderDelegates.cs)可支持任意类型的json字符串转换 - 支持自定义的包含 public string toJSON() 的对象的输出(忽略大小写) - ...

    Android静默安装常用工具类

    toJson(Map, String&gt; map) map转换为json格式 源码可见MapUtils.java,更多方法及更详细参数介绍可见MapUtils Api Guide。 16、ObjectUtils Object工具类,可用于Object常用操作,如: isEquals(Object actual, ...

    多功能.NET代码自动生成器2.0版(2010年最新修改)

    /// 当前页数据的JSON数据源(JSON格式参考Json转换方法) public string Select_Page(CalendarNotesModel model, string querytype, int PageIndex, int PageSize) 按照指定条件分页查询数据集合,返回JSON数据源,...

    多功能.NET代码自动生成器(含存储过程)

    /// 当前页数据的JSON数据源(JSON格式参考Json转换方法) public string Select_Page(CalendarNotesModel model, string querytype, int PageIndex, int PageSize) 按照指定条件分页查询数据集合,返回JSON数据源,...

    C#基类库(苏飞版)

    app消息格式化类,返加字符串帮助类 ResourceManager C#一个操作Resource的帮助类 ResourceManagerWrapper Resources 操作Resources的帮助类,使用Api的方式 Sample.xml 11.XML操作类 XmlHelper 操作Xml文档的...

    jquery-1.1.3 效率提高800%

    processData(true) 数据类型: Boolean 在默认的情况下,如果data选项传进的数据是一个对象而不是字符串,将会自动地被处理和转换成一个查询字符串,以适应默认的content-type--"application/x-...

    jquery电子文档chm

    将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换...

    ZendFramework中文文档

    8.2.2. 修改货币格式 8.2.3. Zend_Currency 的信息方法 8.2.4. 设置新缺省值 8.2.5. 加速 Zend_Currency 8.3. 从前面的版本迁移 8.3.1. 从 1.0.2 到 1.0.3 或更新的迁移 9. Zend_Date 9.1. Introduction ...

Global site tag (gtag.js) - Google Analytics