`
忧里修斯
  • 浏览: 436476 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Ext工具类:将对象或List转换为json格式或xml格式

阅读更多
注意:List中只有存放的是相应的Java对象,才能正确转换成json、xml格式
1、核心
package com.dreamoa.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.dreamoa.domain.Menu;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

import net.sf.json.JSONObject;

/**
 * 数据转换工具类,用于将单个对象、List转换为json、xml格式的字符串
 */
public class ExtUtil {
	
	/**
	 * 将list对象转换为json格式的数据
	 * @param totalNum,记录总数
	 * @param inList,需要转换的list
	 * @return
	 */
	public static String getJsonFromList(long totalNum,List inList){
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("totalNum", inList.size());
		map.put("resultList", inList);
		JSONObject jsonObj = JSONObject.fromObject(map);
		return jsonObj.toString();
	}
	
	/**
	 * 将单个对象转换为json格式,此对象不能为集合类型
	 * @param inObject
	 * @return
	 */
	public static String getJsonFromObject(Object inObject){
		JSONObject jsonString = JSONObject.fromObject(inObject);
		return jsonString.toString();
	}
	
	/**
	 * 将List转化为xml格式的数据
	 * @param totalNum
	 * @param inList,需要转换的list
	 * @return String
	 */
	public static String getXmlFromList(long totalNum,List inList){
		Total total = new Total();
		total.setTotalNum(totalNum);
		//创建临时的List对象
		List results = inList;
		results.add(total);
		//创建XStream对象
		XStream xs = new XStream(new DomDriver());
		//为所有的类创建别名,别名为不包含包名的类名
		for (int i = 0; i < results.size(); i++) {
			Class clzz = results.get(i).getClass();
			//得到全限定类名
			String fullName = clzz.getName();
			//以"."分割字符串
			String [] temp = fullName.split("\\.");
			xs.alias(temp[temp.length-1], clzz);
		}
		String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(results);
		return xmlString;
	}
	
	/**
	 * 将一个Object对象转化为xml格式输出
	 * @param object
	 * @return
	 */
	public static String getXmlFromObject(Object object){
		XStream xs = new XStream(new DomDriver());
		Class clazz = object.getClass();
		String [] temp = clazz.getName().split("\\.");
		xs.alias(temp[temp.length-1], clazz);
		String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(object);
		return xmlString;
	}
	
	/**
	 * 将对象转换为表单数据加载需要的格式
	 * @param object
	 * @return
	 */
	public static String getLoadFormData(Object object){
		
		return "";
	}
	public static void main(String[] args) {
		Menu menu = new Menu();
		menu.setName("name");
		menu.setParentid("123");
		Menu menu2 = new Menu();
		menu2.setName("name2");
		menu2.setParentid("1233");
		List inList = new ArrayList();
		inList.add(menu);
		inList.add(menu2);
		System.out.println(ExtUtil.getXmlFromList(inList.size(), inList));
	}
}


2、Total.java
package com.hf.sfm.util;

import java.util.List;

/**
 * 将List转化为xml时getXmlFromList(),用来存放记录总数
 * @author Administrator
 *
 */
public class Total {
	
	private long totalNum;//记录总数
	private List resultList;//要转换的List,也是转换后的结果集名称

	public long getTotalNum() {
		return totalNum;
	}

	public void setTotalNum(long totalNum) {
		this.totalNum = totalNum;
	}

	public List getResultList() {
		return resultList;
	}

	public void setResultList(List resultsList) {
		this.resultList = resultsList;
	}
	
}
分享到:
评论

相关推荐

    java转json工具类说明文档.docx

    本文档主要介绍了两个Java工具类——JsonUtilsForJsonLib和JsonUtils,它们能够帮助我们将Java对象转换成JSON对象或字符串,以适应Ext框架对AJAX和JSON数据的需求。 JsonUtilsForJsonLib类依赖于官方提供的JSON库,...

    如何把一个对象转换为JSON

    当我们需要将一个对象转换为JSON格式时,这通常是为了解析、序列化或在网络之间传输数据。这篇博客将探讨如何在不同的编程语言中将对象转换为JSON。 在JavaScript中,JSON与JavaScript对象非常相似,因为它们都基于...

    AnyFo - Util - Json4Ext:通用ExtJS数据交换处理

    Json4Ext是“AnyFo – Util”项目下的一个子项目,他提供了多个工具包,它让开发者轻松的通过构建一些简单的Java类,然后自动的将 这些Java类生成符合Ext要求的各种Json格式的字符串。 Json4Ext类简介 在Json4...

    实例:ExtjsTest+struts传输json格式的list对象

    在Action类中,定义一个方法来处理请求,该方法可能涉及从数据库获取list对象并将其转换为JSON格式。 2. **配置Struts.xml**: 配置Struts.xml文件,将刚才创建的Action类映射到一个特定的URL,使得客户端可以通过...

    json-lib-2.1

    3. **XML到JSON转换**:json-lib还支持XML和JSON之间的转换,使得在处理这两种格式的数据时更加灵活。 4. **自定义序列化**:开发者可以通过实现`net.sf.json.JSONObject$JSONSerializer`接口来自定义对象序列化的...

    notpade++ 包含notepade安装文件与xml\json格式化插件

    二、xmltools_2.3.2_r908_unicode_beta4.zip 是 xml格式化插件 解压后 XMLTools.dll 放入notepad++安装目录&gt;&gt; plugins文件夹下 里面的ext_libs的文件放入 notepad++ 安装根目录 三、 NPPJSONViewer1_21.zip 是json...

    asp.netToJson 转换类的源代码(CS)

    标题中提到的"asp.netToJson 转换类的源代码",指的是一个专门用于将ASP.NET对象转换为JSON格式的自定义类。这个类通常包含了序列化和反序列化的功能,能够帮助开发者将C#对象转换为JSON字符串,以便于发送到客户端...

    WINPM转换EXT3格式工具

    标题中的“WINPM转换EXT3格式工具”是指一个利用Windows Partition Manager(WINPM)软件将USB存储设备或内存卡的文件系统格式转换为EXT3的工具。EXT3是Linux操作系统中广泛使用的日志文件系统,它提供了良好的稳定...

    JSON的使用方法(详细注解)

    1. **List集合转换成JSON**:你可以使用`JSONArray.fromObject()`方法将ArrayList或其他List类型的集合转换为JSON数组。例如: ```java List&lt;String&gt; list = new ArrayList(); list.add("first"); list.add(...

    SSH+EXT如何返回JSON

    在这个类中,我们定义了一个名为`locationlist`的方法,该方法用于处理请求并将数据转换为JSON格式。 1. **导入必要的库**: - 首先导入`net.sf.json`库中的`JSONArray`和`JsonConfig`类。 - 其他导入语句主要...

    java后台生成JSON数据

    - `JSONObject` 类:表示一个 JSON 对象,可以将 Java Map 或者键值对转换为 JSON 对象。 - `JSONArray` 类:表示一个 JSON 数组,可以将 Java 集合转换为 JSON 数组。 - `toString()` 方法:将 JSON 对象或数组...

    ext json请求java后台返回集合数据

    可能有将Java对象转换为JSON字符串,或者将JSON字符串反序列化为Java对象的功能。在处理EXTJS请求时,后台往往需要这样的工具类来与前端进行数据交换。 2. **AjaxServlet.java**:这是一个Servlet类,它是Java Web...

    在JAVA中使用JSON 的jar包

    `json-lib`是一个用于Java的JSON库,它提供了多种将Java对象转换为JSON文本以及将JSON文本转换回Java对象的方法。这个库支持多种Java集合和自定义类的JSON序列化和反序列化,包括ArrayList、HashMap、HashSet等,...

    ext动态获取Xml数据并解析信息

    本文将详细介绍如何使用Java后端技术配合Ext JS前端框架来实现动态获取XML格式的数据,并通过Ext JS对其进行解析的过程。 #### Java部分:发送XML数据 在Java部分,我们首先创建了一个名为`getXml`的方法,该方法...

    读Ext之十(解析JSON)

    `JSON.parse()`用于将一个JSON字符串转换为JavaScript对象,而`JSON.stringify()`则相反,将JavaScript对象转换为JSON字符串。 在"读Ext之十(解析JSON)"这篇博文中,作者可能详细讨论了在Ext JS框架中如何处理...

    json转换jar包及使用方式

    1. **序列化Java对象到JSON**:如果你有一个Java对象或集合,想要将其转换为JSON字符串,可以使用`JsonBeanSerializer`或`JSONArray`、`JSONObject`类。例如,如果你有一个名为`User`的类,你可以这样做: ```java ...

    符合Ext tree的全国城市列表json格式

    在本场景下,它可能用于解析"tree.json"文件,将城市数据转换为适配Ext JS TreePanel的格式,或者包含了用于渲染和操作树形结构的辅助函数。 2. `tree.json` - 如前所述,这是一个包含了全国城市层级结构的JSON文件...

    ext 读取xml 可编辑grid

    在EXT JS框架中,"ext 读取xml 可编辑grid"是一个常见的需求,涉及到的主要知识点包括EXT的数据对象、EditorGridPanel的使用以及EXT对XML数据格式的支持。下面将详细阐述这些内容。 EXT JS是一个强大的JavaScript库...

    ext树 无限级 json 数据格式 动态加载

    本文将深入探讨如何处理无限级JSON数据格式并实现动态加载,以优化EXT树的性能。 首先,我们要理解EXT树的基本结构。EXT树的每个节点都是一个`Ext.tree.Node`对象,包含ID、文本、子节点等属性。无限级树意味着树的...

    JSON ——数据库结果集转换

    标题和描述均提到了“JSON —— 数据库结果集转换”,这主要涉及到将数据库查询结果转化为JSON格式的数据,以便于在网络传输中使用。在现代Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换...

Global site tag (gtag.js) - Google Analytics