json之Gson和FastJson (二)

2014-11-24 09:49:28 · 作者: · 浏览: 1
riends(List friends) {
this.friends = friends;
}

}

class SchoolInfo
{
String name;
String addr;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddr() {
return addr;
}

public void setAddr(String addr) {
this.addr = addr;
}

public SchoolInfo(String name,String addr)
{
this.name=name;
this.addr=addr;
}
}

class Friend
{
String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Friend(String name)
{
this.name=name;
}
}
运行结果:

{"age":23,"name":"gavin","info":{"name":"good","addr":"sh"},"friends":[{"name":"aviva1"},{"name":"aviva2"},{"name":"aviva3"},{"name":"aviva4"}]}


2、将上面得到的字符串转换成一个Persn


[java]

String txt=gson.toJson(p);

Person person=gson.fromJson(txt, Person.class);
System.out.println(person);

String txt=gson.toJson(p);

Person person=gson.fromJson(txt, Person.class);
System.out.println(person);

3、json字符串和List之间转换

编写一个Student 类


[java]

class Student
{
int age;
String name;

public Student(int age,String name)
{
this.age=age;
this.name=name;
}

}

class Student
{
int age;
String name;

public Student(int age,String name)
{
this.age=age;
this.name=name;
}

}
Main方法


[java]

Student s1=new Student(1,"gavin");
Student s2=new Student(2,"aviva");

List stus=new ArrayList();
stus.add(s1);
stus.add(s2);

Gson gson=new Gson();

System.out.println(gson.toJson(stus));

Student s1=new Student(1,"gavin");
Student s2=new Student(2,"aviva");

List stus=new ArrayList();
stus.add(s1);
stus.add(s2);

Gson gson=new Gson();

System.out.println(gson.toJson(stus));
结果

[{"age":1,"name":"gavin"},{"age":2,"name":"aviva"}]


将上述字符串转换为List


[java]

String t=gson.toJson(stus);
List list=gson.fromJson(t, new TypeToken>(){}.getType());
System.out.println(list);

String t=gson.toJson(stus);
List list=gson.fromJson(t, new TypeToken>(){}.getType());
System.out.println(list);
3、实现Map和json字符串转换

[java]

HashMap map=new HashMap();
map.put("1", "gavin");
map.put("2", "aviva");
Gson gson=new Gson();

System.out.println(gson.toJson(map));


String t=gson.toJson(map);

HashMap m=gson.fromJson(t, new TypeToken>(){}.getType());

HashMap map=new HashMap();
map.put("1", "gavin");
map.put("2", "aviva");
Gson gson=new Gson();

System.out.println(gson.toJson(map));


String t=gson.toJson(map);

HashMap m=gson.fromJson(t, new TypeToken>(){}.getType());
由于时间有限,在此fastjsaon就不在做介绍,其用法和Gson基本相同..............