fastjson-version: fastjson-1.1.6.jar
author: sherine_zju
Date: 2016/05/26
1.序列化一個普通對象
1.1 對象定義
public class JSONobject {
Date time;
int Pid;
String activity;
float x;
float y;
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public int getPid() {
return Pid;
}
public void setPid(int pid) {
Pid = pid;
}
public String getActivity() {
return activity;
}
public void setActivity(String activity) {
this.activity = activity;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
public Date transStringToDate(String time){
Date date = null;
try
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
date = sdf.parse(time);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return date;
}
}
1.2 利用fastjson序列化爲Json String
public class fastjson {
public static void main(String[] args) {
// TODO Auto-generated method stub
JSONobject ins = new JSONobject();
ins.setTime(transStringToDate("2014-6-06 20:12:07"););
ins.setPid(1);
//序列化
String text = JSON.toJSONString(ins);
System.out.println(text);
//存爲json文件
String file = "e://z_word//csvJson.json";
FileWriter fwriter = null;
try {
fwriter = new FileWriter(file);
fwriter.write(text);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
fwriter.flush();
fwriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
2.序列化一個List對象
List<>對象,List<List<>>對象,List<List<List<>>>都可以序列化,這裏的例子是序列化List<List<>>對象。
注意一定要是List對象,ArrayList不可以,會報錯。
fastjson.JSONException : create asm serilizer error, class class JSONobject
2.1 JsonObject定義
public class JSONobject {
Date time;
int Pid;
String activity;
float x;
float y;
List<ReadCSV> subpart = new ArrayList();
private List<List<ReadCSV>> parts = new ArrayList();
public List<ReadCSV> getSubpart() {
return subpart;
}
public void setSubpart(List<ReadCSV> subpart) {
this.subpart = subpart;
}
public List<List<ReadCSV>> getParts() {
return parts;
}
public void setParts(List<List<ReadCSV>> parts) {
this.parts = parts;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public int getPid() {
return Pid;
}
public void setPid(int pid) {
Pid = pid;
}
public String getActivity() {
return activity;
}
public void setActivity(String activity) {
this.activity = activity;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
}
2.2 fastjson序列化List
//得到聚類結果
ArrayList<ArrayList<ReadCSV>> cluster=k.getCluster();
//結果存爲json變量
JSONobject jsoNobject = new JSONobject();
for(int i=0;i<cluster.size();i++)
{
jsoNobject.getParts().add(cluster.get(i));
}
String text = JSON.toJSONString(jsoNobject);
System.out.println(text);
//保存爲json文件
String file = "e://z_word//csvJson.json";
FileWriter fwriter = null;
try {
fwriter = new FileWriter(file);
fwriter.write(text);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
fwriter.flush();
fwriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}