黑马day17 xstream生成xml数据&json-lib生成json数据
来源:互联网 发布:搜衣服的软件 编辑:程序博客网 时间:2024/06/01 11:06
1.XStream工具介绍:
这个工具即这个工具的jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成xml格式的数据
jar包:
xstream-1.4.4.jar 这是核心包
xpp3_min-1.1.4c.jar 这是必须依赖的包
只要导入这两个jar包 导入到构建路径中就可以使用了..
2.json-lib介绍:
这个jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成json格式的数据
jar包:
这是核心包
这是核心包的依赖包
为了方便,下面的所有案例都是在province类和city类的基础上生成的:
(1).povince类
package app.xstream;import java.util.List;public class Province {private int id;private String name;private List<City> cities;public Province(int id, String name, List<City> cities) {super();this.id = id;this.name = name;this.cities = cities;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public List<City> getCities() {return cities;}public void setCities(List<City> cities) {this.cities = cities;}}(2).city类
package app.xstream;public class City {private int id;private String name;public City(int id, String string) {super();this.id = id;this.name = string;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}案例1:演示xml格式数据的生成:
xStream.useAttributeFor(Province.class, "id");这句话的意思是把id当成Province的一个属性.
xStream.alias("province", Province.class);这句话的意思是把<app.province>转化为<province>格式
package app.xstream;import java.util.ArrayList;import java.util.List;import com.thoughtworks.xstream.XStream;public class XStreamDemo {public static void main(String[] args) {City c1=new City(1, "邢台");City c2=new City(2, "唐山");City c3=new City(3, "石家庄");List<City> cities=new ArrayList<City>();cities.add(c1);cities.add(c2);cities.add(c3);Province p=new Province(1,"河北省",cities);//创建实例XStream xStream=new XStream();xStream.useAttributeFor(Province.class, "id");/xStream.useAttributeFor(Province.class, "name");xStream.useAttributeFor(City.class, "id");xStream.useAttributeFor(City.class, "name");xStream.alias("province", Province.class);xStream.alias("city", City.class);//把对象转化为xml格式String province = xStream.toXML(p);System.out.println(province);}}
案例2:演示生成json格式的数据
这里我写了一个工具类用来实现数据的转化
package app.xstream;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import net.sf.json.util.CycleDetectionStrategy;import net.sf.json.xml.XMLSerializer;/** * 处理json数据格式的工具类 * * @author 金云龙 * @Date 2013-3-31 * @version 1.0 */public class JsonUtil {/** * 将数组转换成String类型的JSON数据格式 * * @param objects * @return */public static String array2json(Object[] objects){JSONArray jsonArray = JSONArray.fromObject(objects);return jsonArray.toString();}/** * 将list集合转换成String类型的JSON数据格式 * * @param list * @return */public static String list2json(List list){JSONArray jsonArray = JSONArray.fromObject(list);return jsonArray.toString();}/** * 将map集合转换成String类型的JSON数据格式 * * @param map * @return */public static String map2json(Map map){JSONObject jsonObject = JSONObject.fromObject(map);return jsonObject.toString();}/** * 将Object对象转换成String类型的JSON数据格式 * * @param object * @return */public static String object2json(Object object){JSONObject jsonObject = JSONObject.fromObject(object);return jsonObject.toString();}/** * 将XML数据格式转换成String类型的JSON数据格式 * * @param xml * @return */public static String xml2json(String xml){JSONArray jsonArray = (JSONArray) new XMLSerializer().read(xml);return jsonArray.toString();}/** * 除去不想生成的字段(特别适合去掉级联的对象) * * @param excludes * @return*/public static JsonConfig configJson(String[] excludes) {JsonConfig jsonConfig = new JsonConfig();jsonConfig.setExcludes(excludes);jsonConfig.setIgnoreDefaultExcludes(true);jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);return jsonConfig;}}
================================================================================================
package app.xstream;import java.util.ArrayList;import java.util.List;public class JsonDemo {public static void main(String[] args) {City c1=new City(1, "邢台");City c2=new City(2, "唐山");City c3=new City(3, "石家庄");List<City> cities=new ArrayList<City>();cities.add(c1);cities.add(c2);cities.add(c3);Province p=new Province(1,"河北省",cities);String object2json = JsonUtil.object2json(p);System.out.println(object2json.toString());}}
0 0
- 黑马day17 xstream生成xml数据&json-lib生成json数据
- json数据生成xml文档
- 黑马day17 json格式的数据
- 生成JSON数据
- ASP生成JSON数据
- 生成json数据示例
- 服务器端生成JSON数据
- PHP生成json数据
- asp生成json数据
- JSON数据的生成
- JSON数据的生成
- ASP生成JSON数据
- CEF生成JSON数据
- 生成json数据
- C# 生成Json数据
- 生成JSON数据
- 如何生成json数据
- jsp生成json数据
- 2
- Outlook 2007 发送邮件的发件人中文为问号的解决方法
- bzoj3932: [CQOI2015]任务查询系统 主席树
- FreeMarker 自定义指令,并增加参数(四)
- apache MINA之心跳协议运行机制
- 黑马day17 xstream生成xml数据&json-lib生成json数据
- openstack基础之--L2,L3
- 解决安卓manifest中的application标签中@android:style/Theme.NoTitleBar崩溃的问题
- Medoo入门
- 零基础学习hadoop到上手工作线路指导(编程篇)
- 欢迎使用CSDN-markdown编辑器
- Thinking in Java---多线程学习笔记(2)
- Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
- 指针变量作为函数参数