1.把Java对象转换成JSON对象

apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串。也可以把JavaBean转换成JSON字符串。

json-lib的核心jar包有: 

json-lib.jar,只有两个核心类: JSONObject, JSONArray;

json-lib的依赖jar包有:

commons-lang.jar

commons-beanutils.jar

commons-logging.jar

commons-collections.jar

ezmorph.jar

将person对象转化成json对象:

javabean:

package java转json;

public class Person {
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
public Person(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]";
} }

用junit测试:

    @Test
public void fun() {
JSONObject jo = new JSONObject();
jo.put("name", "张三");
jo.put("age", 12);
jo.put("sex", "男");
String s = jo.toString();
System.out.println(s);
} @Test
public void fun1() {
Person p = new Person("liSi", 32, "female");
JSONObject jo = JSONObject.fromObject(p);// 把JavaBean对象转换成json
System.out.println(jo.toString());
}
// 结果为:{"age":32,"name":"liSi","sex":"female"} @Test
public void fun2() {
Person p = new Person("liSi", 32, "female");
Person p1 = new Person("zhangSan", 312, "female");
Person[] pe = { p, p1 };
JSONArray ja = JSONArray.fromObject(pe);// 把数组转换成JSONArray
System.out.println(ja.toString()); }
// 结果:[{"age":312,"name":"zhangSan","sex":"female"},{"age":32,"name":"liSi","sex":"female"}] @Test
public void fun3() {
Person p = new Person("liSi", 32, "female");
Person p1 = new Person("zhangSan", 312, "female");
List<Person> l = new ArrayList<Person>();
l.add(p1);
l.add(p);
System.out.println(JSONArray.fromObject(l).toString());// 把list转换成JSONArray
}
// 结果为:[{"age":312,"name":"zhangSan","sex":"female"},{"age":32,"name":"liSi","sex":"female"}]

2.把Java对象转换成xml对象

可以到http://xstream.codehaus.org/地址去下载XStream安装包!

XStream的必导JAR包:

核心JAR包:xstream-1.4.7.jar;

必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的XML解析器);

javabean对象仍然用person;

public List<Person> p() {
Person p1 = new Person("tian", 12, "男");
Person p2 = new Person("di", 14, "nv");
Person p3 = new Person("wo", 23, "a");
List<Person> l = new ArrayList<Person>();
l.add(p1);
l.add(p2);
l.add(p3);
return l;
} @Test
public void fun4() {
List<Person> l = p();
XStream xs = new XStream();// 创建XStream对象 调用toXML把集合转换成xml字符串
String s = xs.toXML(l);
System.out.println(s);
}
/*结果
<list>
<java转xml.Person>
<name>tian</name>
<age>12</age>
<sex>男</sex>
</java转xml.Person>
<java转xml.Person>
<name>di</name>
<age>14</age>
<sex>nv</sex>
</java转xml.Person>
<java转xml.Person>
<name>wo</name>
<age>23</age>
<sex>a</sex>
</java转xml.Person>
</list>
*/
@Test
public void fun2() {
List<Person> l = p();
XStream xs = new XStream();
xs.alias("value", List.class);// 给List起别名为china
xs.alias("person", Person.class);// 给person起别名为person
xs.useAttributeFor(Person.class, "name");// 把Person类型的name属性,生成<person>元素的属性
xs.omitField(Person.class, "age");// 让City类的,名为age属性不生成对应的xml元素
String s = xs.toXML(l);
System.out.println(s);
}
/*
* <value>
<person name="tian">
<sex>男</sex>
</person>
<person name="di">
<sex>nv</sex>
</person>
<person name="wo">
<sex>a</sex>
</person>
</value> */

Java对象转换成xml对象和Java对象转换成JSON对象的更多相关文章

  1. 类对象传输到jsp页面。需要转换为js的json对象时,这么做。

    场景:要从一个列表中选择信息,填写入父页面的表单中,但是字段非常多... 后台查询,得到结果,放在列表中. 效果:点击选择产品.. 弹出页面:点击后面的选择产品 选择产品后:信息自动填充.. 实现:点 ...

  2. java对象与json对象之间的转换

    jar包:import net.sf.json.JSONObject; 1.解析json字符串 将json字符串转换为json对象,然后再解析json对象:.JSONObjectjsonObject ...

  3. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  4. JSON对象和字符串的互相转换

    1.JSON.parse; 作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象) 语法:JSON.parse(text [, reviver]) text    必选. 一 ...

  5. 深入理解JSON对象

    × 目录 [1]语法规则 [2]stringify [3]parse[4]eval 前面的话 json(javascript object notation)全称是javascript对象表示法,它是 ...

  6. 利用JavaScriptSerializer类 进行Json对象的序列化和反序列化和过滤

    项目下载:JavaScriptSerializer_对JSON对象序列化与反序列化及过滤器 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化 1. 首 ...

  7. [转]json对象详解

    json(javascript object notation)全称是javascript对象表示法,它是一种数据交换的文本格式,而不是一种编程语言,用于读取结构化数据.2001年由Douglas C ...

  8. 原生JS:JSON对象详解

    JSON对象 支持到IE8,旧版的IE需要Polyfill 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/docs/Web ...

  9. js如何创建JSON对象

    js如何创建JSON对象 一.总结 一句话总结:直接创建js数组和js对象即可,然后JSON.stringify就可以获取json字符串,js中的一切都是对象,而且js中的对象都是json对象 js ...

  10. 51. ExtJs4之Ext.util.JSON编码和解码JSON对象

    转自:https://blog.csdn.net/iteye_9439/article/details/82518158 1.decode() 该方法用于将符合JSON格式的String进行解码成为一 ...

随机推荐

  1. C#中split分隔字符串的应用

    .用单个字符来分隔:string str="aaajbbbjccc";string[] sArray=str.Split('j');foreach(string i in sArr ...

  2. ANDROID基础ACTIVITY篇之Activity的生命周期(一)

    首先我们先来看一下官方的Android的生命周期图: 根据这个流程图我们可以看到Activity的生命周期一共有7个方法,那么接下来我们就来聊聊这些方法执行过程. 首先在两个Activity(Main ...

  3. B-树&B+树以及其在数据库中的应用

    B-树&B+树以及其在数据库中的应用 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用. 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至 ...

  4. SpringMVC---Method

    GET 平时网页的一些基本的URL都是GET请求的,用于执行查询操作. 但是由于GET中URL是有长度的限制的,而GET会把所有的参数都放在URL中 因此就会有下面的问题: 1 数据都明文暴露,用户可 ...

  5. [译]漫画SELinux概念

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  6. LDA算法入门

    http://blog.csdn.net/warmyellow/article/details/5454943 LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discrimin ...

  7. String的Intern方法

    jdk6 和 jdk7 下 intern 的区别 相信很多 JAVA 程序员都做做类似 String s = new String("abc")这个语句创建了几个对象的题目. 这种 ...

  8. 崩溃 golang入坑系列

    早上(11.30)收到邮件,Vultr东京机房网络故障.当时搭建SS时,考虑到了机房故障.所以特意分出了日本和香港两条线路.但千算万算,忘记数据库还在东京机房中. 现在网络故障,SS服务器无法读取数据 ...

  9. jsp加java连接数据库,进行信息输入,并进行初步的拦截判断。

    图形大概这样 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨子光五位教 ...

  10. JAVA高并发程序设计笔记

    第二章 Java并行程序基础 1.join()的本质是让调用线程wait()在当前线程的对象上 2.Thread.yiedl()会使当前线程让出CPU 3.volatile保证可见性,无法保证原子性( ...