JSON几种转换方法
2012-02-28 20:14
127 查看
JSON几种转换方法
1、 首先创建一个web程序,
在domain包下创建Student 和 Teacher 类。 在Teacher.java中封装name,sex,age,birth属性,并实现 其构造器 set和get方法,以及toString()方法。
2、 在junit包下创建一个测试类 。 用来进行测试。
Demo.java
//第一个案例:将Java对象转换成Json字符串
@Test
public void fromObject(){
//将Java对象转换成Json字符串
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
//json字符串
/*
* {name:"redarmy",sex:"男",age:21,birth:{对象}
* */
//需要引入类库文件
//调用JSONObject.fromObject(object)完成转换
System.out.println(JSONObject.fromObject(teacher).toString());
}
//第二个案例:将Java集合转换成Json字符串
@Test
public void fromVector(){
List<Teacher> teas = new ArrayList<Teacher>();
for(int i=0;i<3;i++){
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
teas.add(teacher);
}
//调用JSONArray.fromObject(object)完成转换
System.out.println(JSONArray.fromObject(teas).toString());
}
//第三个案例:将JSON字符串转换成对象
@Test
public void fromJsonObject(){
//第一步:定义出字符串
String teaObj = "{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"}";
//第二步:调用JSONObject.fromObject(teaObj)方法将其字符串转换成JsonObject对象
JSONObject jsonObj = JSONObject.fromObject(teaObj);
//第三步:调用JSONObject的toBean方法 ,将其转换成一个Object对象
Teacher teac = (Teacher) JSONObject.toBean(jsonObj,Teacher.class);
System.out.println(teac.toString());
}
//第四个案例:将数组的字符串转换成集合对象
@Test
public void fromJsonArray(){
//第一步:声明出字符串
String teaArr = "[{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"},{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"},{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"}]";
//第二步:调用JSONArray.fromObject(teaArr)方法将其字符串转换成一个JsonArray对象
JSONArray jsonArra = JSONArray.fromObject(teaArr);
//第三步:调用JSONArray的toCollection方法将其转换成指定泛型的List集合对象
List<Teacher> teas = (List<Teacher>) JSONArray.toCollection(jsonArra,Teacher.class);
for(Teacher tea:teas){
System.out.println(teas.toString());
}
}
//第五个案例:将Java对象转换成Json字符串
@Test
public void fromObject1(){
//将Java对象转换成Json字符串
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
//json字符串
/*
* {name:"redarmy",sex:"男",age:21,birth:{对象}
* */
List<Student> stus = new ArrayList<Student>();
for(int i=0;i<3;i++){
Student stu = new Student();
stu.setName("pangli"+i);
stus.add(stu);
}
teacher.setStus(stus);
//需要引入类库文件
//调用JSONObject.fromObject(object)完成转换
System.out.println(JSONObject.fromObject(teacher).toString());
}
1、 首先创建一个web程序,
在domain包下创建Student 和 Teacher 类。 在Teacher.java中封装name,sex,age,birth属性,并实现 其构造器 set和get方法,以及toString()方法。
2、 在junit包下创建一个测试类 。 用来进行测试。
Demo.java
//第一个案例:将Java对象转换成Json字符串
@Test
public void fromObject(){
//将Java对象转换成Json字符串
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
//json字符串
/*
* {name:"redarmy",sex:"男",age:21,birth:{对象}
* */
//需要引入类库文件
//调用JSONObject.fromObject(object)完成转换
System.out.println(JSONObject.fromObject(teacher).toString());
}
//第二个案例:将Java集合转换成Json字符串
@Test
public void fromVector(){
List<Teacher> teas = new ArrayList<Teacher>();
for(int i=0;i<3;i++){
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
teas.add(teacher);
}
//调用JSONArray.fromObject(object)完成转换
System.out.println(JSONArray.fromObject(teas).toString());
}
//第三个案例:将JSON字符串转换成对象
@Test
public void fromJsonObject(){
//第一步:定义出字符串
String teaObj = "{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"}";
//第二步:调用JSONObject.fromObject(teaObj)方法将其字符串转换成JsonObject对象
JSONObject jsonObj = JSONObject.fromObject(teaObj);
//第三步:调用JSONObject的toBean方法 ,将其转换成一个Object对象
Teacher teac = (Teacher) JSONObject.toBean(jsonObj,Teacher.class);
System.out.println(teac.toString());
}
//第四个案例:将数组的字符串转换成集合对象
@Test
public void fromJsonArray(){
//第一步:声明出字符串
String teaArr = "[{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"},{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"},{\"age\":21,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":31,\"month\":1,\"seconds\":38,\"time\":1330392698421,\"timezoneOffset\":-480,\"year\":112},\"name\":\"redmary\",\"sex\":\"男\"}]";
//第二步:调用JSONArray.fromObject(teaArr)方法将其字符串转换成一个JsonArray对象
JSONArray jsonArra = JSONArray.fromObject(teaArr);
//第三步:调用JSONArray的toCollection方法将其转换成指定泛型的List集合对象
List<Teacher> teas = (List<Teacher>) JSONArray.toCollection(jsonArra,Teacher.class);
for(Teacher tea:teas){
System.out.println(teas.toString());
}
}
//第五个案例:将Java对象转换成Json字符串
@Test
public void fromObject1(){
//将Java对象转换成Json字符串
Teacher teacher = new Teacher();
teacher.setName("redmary");
teacher.setSex("男");
teacher.setAge(21);
teacher.setBirth(new Date());
//json字符串
/*
* {name:"redarmy",sex:"男",age:21,birth:{对象}
* */
List<Student> stus = new ArrayList<Student>();
for(int i=0;i<3;i++){
Student stu = new Student();
stu.setName("pangli"+i);
stus.add(stu);
}
teacher.setStus(stus);
//需要引入类库文件
//调用JSONObject.fromObject(object)完成转换
System.out.println(JSONObject.fromObject(teacher).toString());
}
相关文章推荐
- JavaScript中json字符串转换为json对象的几种方法
- JSON与字符串互相转换的几种方法
- json与Java对象 转换的几种方法
- android 用JSON去服务器获取JSON对象 和其他的几种方法去服务器获取JSON对象
- $.ajax()方法从服务器获取json数据几种方式详解
- 将xml转换成Json,数组,对象格式转换方法
- JSON的使用方法和java之间的转换
- js 将json字符串转换为json对象的方法解析
- MVC web api转换JSON 的方法
- Python-二进制字符串转换为整形的几种方法
- Python实现将Excel转换为json的方法示例
- 从图像转换到byte[]数组的几种方法
- map转换成JSON的3种方法
- JavaScript转换与解析JSON的方法
- JS中常用操作技巧(页面动态增加div,contain方法扩展,JSON对象鱼字符串转换)
- ResultSet转换为List的方法 JSON MAP
- 几种C++ std::string和std::wstring相互转换的转换方法
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- JavaScript转换与解析JSON方法实例详解
- js 将json字符串转换为json对象的方法解析