在开发中经常会用到最将数组对象转换为json字符串和方向转化 Gson都能很好的支持
实例如下:
实体类
public class Person {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试类
package com.txwh.gson;
import com.google.gson.Gson;
import com.txwh.bean.Person;
/**
*
* 实现对数组的操作
* @author Administrator
*
*/
public class TestArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
arrayToJsonString();
jsonStringToObject();
}
/**
*
* 将数组对象转换为json字符串
*/
public static void arrayToJsonString(){
Person p=new Person();
p.setId(new Long(2));
p.setName("张三丰");
Person p2=new Person();
p2.setId(new Long(3));
p2.setName("董天宝");
Person ps[]={p,p2};
//构建Gson对象
Gson gson=new Gson();
//toJson方法实现转换
String text=gson.toJson(ps);
System.out.println(text);
}
/**
* 将json字符串转换为数组对象
*/
public static void jsonStringToObject(){
String text="[{\"id\":2,\"name\":\"张三丰\"},{\"id\":3,\"name\":\"董天宝\"}]";
Gson gson=new Gson();
Person[] ps=gson.fromJson(text,Person[].class);//Person[].class获取数组的反射对象
for (Person person : ps) {
System.out.println("id:"+person.getId()+" name:"+person.getName());
}
}
}
运行结构:
[{"id":2,"name":"张三丰"},{"id":3,"name":"董天宝"}]
id:2 name:张三丰
id:3 name:董天宝