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. 继承JFrame,只是初步

    import java.awt.*; import javax.swing.*; import javax.swing.JFrame; import java.awt.event.WindowList ...

  2. [转载] 理解OAuth 2.0

    转载自http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛 ...

  3. Python执行show slave status输出的两个格式

    1.元组的方式 输出格式如下: ('Waiting for master to send event', '10.75.19.79', 'mysqlsync', 5580L, 60L, 'mysql- ...

  4. git命令提交项目

    相关的操作命令,总是忘记,故在此记录下: 此为linux下的命, windows的话,去掉sudo即可 1.进入项目代码根目录,执行: sudo git init 把这个目录变成git可以管理的仓库. ...

  5. Python 函数相关概念

    高阶函数  数学概念 y=g(f(x))  在数学和计算机科学中,高阶函数应当至少满足下面一个条件的函数   条件1. 接受一个或多个函数作为参数  条件2. 输出一个函数 举例: def count ...

  6. 【Java入门提高篇】Day3 抽象类与接口的比较

    抽象类跟接口都讲完了,现在来做一个比较. 其实说实话,没有多大的可比较性,它们是完全不同的两个东西,它们的抽象不在同一个层级上.但是为了让大家更好的理解,还是做一个比较吧,毕竟它们都很抽象(233). ...

  7. 《java.util.concurrent 包源码阅读》08 CopyOnWriteArrayList和CopyOnWriteArraySet

    CopyOnWriteArrayList和CopyOnWriteArraySet从数据结构类型上来说是类似的,都是用数组实现的保存一组数据的数据结构,区别也简单就是List和set的区别.因此这里就先 ...

  8. C#常见错误解决方法

    1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...

  9. 神奇的 routing mesh - 每天5分钟玩转 Docker 容器技术(100)

    接上一节案例,当我们访问任何节点的 8080 端口时,swarm 内部的 load balancer 会将请求转发给 web_server 其中的一个副本. 这就是 routing mesh 的作用. ...

  10. 机器学习实验一SVM分类实验

    一.实验目的和内容 (一)实验目的 1.熟悉支持向量机SVM(Support Vector Machine)模型分类算法的使用. 2.用svm-train中提供的代码框架(填入SVM分类器代码)用tr ...