Gson作为JSON的解析方法已经被广泛使用,这里总结一下,用于日后查验。
Gson呢?就是一个解析JSON的第三方jar,对于下载,加入编译路径这些就不再啰嗦了。
Gson对于JSON的处理涉及两个方面,下面简单探讨一下。
- gson.fromJson 将JSON字符串解析为Bean.
首先,定义要解析的字符串,内容如下:
{
NAME:"Albert Attard",
P_LANGUAGE:"Java",
LOCATION:"Malta"
}
其次,定义要解析的POJO
package com.example;
class Person {
private String NAME;
private String LOCATION;
@Override
public String toString() {
return NAME + " - " + LOCATION;
}
}
最后完成解析
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(reader, Person.class);
MyClass完整代码如下:
package com.example;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.Reader;
import java.io.StringReader;
public class MyClass {
public static final String INPUT = "{\n" +
" NAME:\"Albert Attard\",\n" +
" P_LANGUAGE:\"Java\",\n" +
" LOCATION:\"Malta\"\n" +
"}";
public static void main(String[] args) {
Reader reader = new StringReader(INPUT);
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(reader, Person.class);
System.out.println(p);
}
}
- gson.toJson 将Bean转化为JSON字符串.
首先,给POJO Person添加Setter方法,完成数据的赋值
public void setNAME(String NAME) {
this.NAME = NAME;
}
public void setLOCATION(String LOCATION) {
this.LOCATION = LOCATION;
}
其次,完成数据的转换
String personString= gson.toJson(person,Person.class);
main函数完成代码如下:
Person person=new Person();
person.setLOCATION("Malta");
person.setNAME("Albert Attard");
Gson gson=new Gson();
String personString= gson.toJson(person,Person.class);
System.out.println(personString);
ok!