`
kfcman
  • 浏览: 379376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

/** * 数据转换工具类,用于将单个对象、List转换为json、xml格式的字符串 */

    博客分类:
  • java
 
阅读更多
注意:List中只有存放的是相应的Java对象,才能正确转换成json、xml格式
1、核心
Java代码  收藏代码
  1. package com.dreamoa.util;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import com.dreamoa.domain.Menu;  
  9. import com.thoughtworks.xstream.XStream;  
  10. import com.thoughtworks.xstream.io.xml.DomDriver;  
  11.   
  12. import net.sf.json.JSONObject;  
  13.   
  14. /** 
  15.  * 数据转换工具类,用于将单个对象、List转换为json、xml格式的字符串 
  16.  */  
  17. public class ExtUtil {  
  18.       
  19.     /** 
  20.      * 将list对象转换为json格式的数据 
  21.      * @param totalNum,记录总数 
  22.      * @param inList,需要转换的list 
  23.      * @return 
  24.      */  
  25.     public static String getJsonFromList(long totalNum,List inList){  
  26.         Map<String, Object> map = new HashMap<String, Object>();  
  27.         map.put("totalNum", inList.size());  
  28.         map.put("resultList", inList);  
  29.         JSONObject jsonObj = JSONObject.fromObject(map);  
  30.         return jsonObj.toString();  
  31.     }  
  32.       
  33.     /** 
  34.      * 将单个对象转换为json格式,此对象不能为集合类型 
  35.      * @param inObject 
  36.      * @return 
  37.      */  
  38.     public static String getJsonFromObject(Object inObject){  
  39.         JSONObject jsonString = JSONObject.fromObject(inObject);  
  40.         return jsonString.toString();  
  41.     }  
  42.       
  43.     /** 
  44.      * 将List转化为xml格式的数据 
  45.      * @param totalNum 
  46.      * @param inList,需要转换的list 
  47.      * @return String 
  48.      */  
  49.     public static String getXmlFromList(long totalNum,List inList){  
  50.         Total total = new Total();  
  51.         total.setTotalNum(totalNum);  
  52.         //创建临时的List对象  
  53.         List results = inList;  
  54.         results.add(total);  
  55.         //创建XStream对象  
  56.         XStream xs = new XStream(new DomDriver());  
  57.         //为所有的类创建别名,别名为不包含包名的类名  
  58.         for (int i = 0; i < results.size(); i++) {  
  59.             Class clzz = results.get(i).getClass();  
  60.             //得到全限定类名  
  61.             String fullName = clzz.getName();  
  62.             //以"."分割字符串  
  63.             String [] temp = fullName.split("\\.");  
  64.             xs.alias(temp[temp.length-1], clzz);  
  65.         }  
  66.         String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(results);  
  67.         return xmlString;  
  68.     }  
  69.       
  70.     /** 
  71.      * 将一个Object对象转化为xml格式输出 
  72.      * @param object 
  73.      * @return 
  74.      */  
  75.     public static String getXmlFromObject(Object object){  
  76.         XStream xs = new XStream(new DomDriver());  
  77.         Class clazz = object.getClass();  
  78.         String [] temp = clazz.getName().split("\\.");  
  79.         xs.alias(temp[temp.length-1], clazz);  
  80.         String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xs.toXML(object);  
  81.         return xmlString;  
  82.     }  
  83.       
  84.     /** 
  85.      * 将对象转换为表单数据加载需要的格式 
  86.      * @param object 
  87.      * @return 
  88.      */  
  89.     public static String getLoadFormData(Object object){  
  90.           
  91.         return "";  
  92.     }  
  93.     public static void main(String[] args) {  
  94.         Menu menu = new Menu();  
  95.         menu.setName("name");  
  96.         menu.setParentid("123");  
  97.         Menu menu2 = new Menu();  
  98.         menu2.setName("name2");  
  99.         menu2.setParentid("1233");  
  100.         List inList = new ArrayList();  
  101.         inList.add(menu);  
  102.         inList.add(menu2);  
  103.         System.out.println(ExtUtil.getXmlFromList(inList.size(), inList));  
  104.     }  
  105. }  


2、Total.java
Java代码  收藏代码
  1. package com.hf.sfm.util;  
  2.   
  3. import java.util.List;  
  4.   
  5. /** 
  6.  * 将List转化为xml时getXmlFromList(),用来存放记录总数 
  7.  * @author Administrator 
  8.  * 
  9.  */  
  10. public class Total {  
  11.       
  12.     private long totalNum;//记录总数  
  13.     private List resultList;//要转换的List,也是转换后的结果集名称  
  14.   
  15.     public long getTotalNum() {  
  16.         return totalNum;  
  17.     }  
  18.   
  19.     public void setTotalNum(long totalNum) {  
  20.         this.totalNum = totalNum;  
  21.     }  
  22.   
  23.     public List getResultList() {  
  24.         return resultList;  
  25.     }  
  26.   
  27.     public void setResultList(List resultsList) {  
  28.         this.resultList = resultsList;  
  29.     }  
  30.       
  31. }  

 

分享到:
评论

相关推荐

    linq to xml的一些例子.doc

    linq to xml的一些例子 /**/////根据元素的名称进行筛选(有命名.../**/////将属性转换为元素 23 /**/////函数构造 24 /**/////向树中添加元素 24 //移除元素 25 /**/////维护名称/值对 26 /**/////元素名称/值对 27

    JSON 编码/解码:解析 JSON 字符串并返回 MATLAB 对象或将 MATLAB 对象编码为 JSON 字符串-matlab开发

    Inf 值被转换为字符串“Inf”。 NaN 值转换为“空”。 笔记: 此函数实现了原始 RFC 4627 中指定的 JSON 超集 - 它还将解码标量类型和 NULL。 RFC 4627 仅支持嵌套在数组或对象中的这些值。 尽管此超集与较新的 ...

    nfa to dfa

    * * 有向弧:start ---a---&gt; end(从start状态,输入a后,变成状态end);... /*判断此有向弧转换式是否是单个字符*/ struct YouXiangHu *next; /*指向下一个节点的指针域*/ }Hu; /* * 文件输出临时格式结构体.

    基于pcl1.8.1点云读取,处理,重建整合的一个dll库

    //******** 读取单个点数据到cloud ********// extern "C" int __stdcall ZSY3DReadSingleData(float x, float y, float z); //******** 读取所有点数据到cloud ********// extern "C" int __stdcall ZSY3...

    javascript中JSON对象与JSON字符串相互转换实例

    本文实例讲述了javascript中JSON对象与JSON字符串相互转换实现方法。分享给大家供大家参考。具体如下: [removed] // 根据JSON对象的属性的名称获取属性的值 var jsonObj = { name: "jxqlovejava" }; // JSON对象 ...

    android xml文件操作

    * 将一个xml字符串解析成Document对象。 * * @param xmlStr * 要被解析的xml字符串。 * @param encoding * 字符串的编码。 * @return 返回解析后的Document对象。 * @throws IOException * 如果...

    listJson工具类

    单个c#文件,集合listJson的完整功能,完全开源,附加自己写的json直接点方法 转int 集合,转string集合,转jsondata集合,单个脚本方便使用者以后直接在其上添加自己想要的功能

    汇编语言程序题-将字符串转换成对应的大写字母

    汇编语言程序题-将字符串转换成对应的大写字母

    java时间处理工具类--DateUtils

    * 把字符串转换为日期 * * @param dateStr * 日期字符串 * @param format * 日期格式 * @return Date */ public static Date strToDate(String dateStr, String format) { Date date = null; ...

    使用Gson解析Json数据

    1、生成Json数据 2、使用Gson解析Json数据(单个json对象、json数组和json对象内嵌json数组) // 这里有两篇好心人的博文,有详细的讲解 http://www.jb51.net/article/32547.htm ...

    自己封装缓存接口数据的类

    */ +(void)getRequestUrlStr:(NSString *)urlStr success:(SuccessBlock)success failure:(FailureBlock)failure; /** * Get请求 对数据进行缓存 * * @param urlStr url * @param success 成功的回调 * @...

    ios-AFNetworking 3.x 缓存.zip

    缓存思路来自 SDWebImage 已用于多个项目 使用 1.请求类型丰富/ * GET请求 // * POST请求 // * PUT请求 // * PATCH请求 // * DELETE请求 // * Upload请求 // * DownLoad请求 / 2.低耦合,易扩展。 3.通过...

    C++ json、json字符串处理等json解析类源码

    1由JSON字符串初始化 2获取根节点 3获取子节点 4获取父节点 5获取当前节点数组、对象大小 6获取当前节点数组、对象中指定序号的元素 7设置当前节点 8判断当前节点是否合法 9获取当前节点键 10获取当前节点所有子元素...

    Apache Lucene全文检索和IKAnalyzer分词工具类

    /**当为true时,分词器进行最大词长切分**/ IKSegmentation ik = new IKSegmentation(reader, true); Lexeme lexeme = null; while ((lexeme = ik.next()) != null){ tokenArr.add(lexeme.getLexemeText...

    Python-ExcelToJson为python转换excel为json格式的工具

    ExcelToJson 提供一个简单的界面(Tkinter),实现单个和批量转换的功能,其中... 批量转换制定文件夹自动获取文件夹下为 '.xls' 的 excel 格式文件进行转换,转换后的json文件名与excel保持一致,并生成在同一目录下

    Wikidata数据转换工具

    Wikidata数据转换工具,该文件是使用 Python 方式将 Wikidata 官网 https://www.wikidata.org/wiki/Wikidata:Database_download/ 下载的数据包由 bz2 转为 json 格式,通过 WikiExtractor -o [output] --process 2 -...

    java自定义工具类,对字符串进行特殊处理

    1.删除字符 2.去空格 3.去除所有空格和特殊字符 4.判断邮箱 5.字符串集合转字符串 6.只保留汉字 7.关键词前后是否包含英文字母 8.去除字符串中的附件 9.获取下标单个位置和所有位置

    C8051f020 UART0

    //;UART0收发一组字符(48个)(通过) // rxd_str必须是全局变量,切使用前要赋值。 // rxd_str不能是局部变量,局部变量会清零, //因为中断一次只能收一个字符rxd_str不可能&gt;=LENM ...//发送字符串,调用Send_Char...

    基于jquery的轮换插件

    "index_hover": 1,/*索引轮换方式,0为不可用,1为hover,2为click*/ "index_now": "index_now",/*当前索引class*/ "mouse_drag": false,/*鼠标内容拖拽,true开启,内容不可点击,auto_way值不能为1,false关闭...

    Python使用内置json模块解析json格式数据的方法

    本文实例讲述了Python使用内置json模块解析json格式数据的方法。分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模块。 一、json字符串转为python...

Global site tag (gtag.js) - Google Analytics