在Java開(kāi)發(fā)過(guò)程中,經(jīng)常需要將對(duì)象或者實(shí)體類(lèi)轉(zhuǎn)化成json格式的字符串,然后存儲(chǔ)到文件中。這時(shí)候就需要使用到Java中的json庫(kù),比如常用的Gson和Jackson等。
以下以Gson為例,演示如何將一個(gè)Java對(duì)象解析成json文件:
public class Person {
private String name;
private int age;
private String gender;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// 省略getter、setter方法
public String toJsonString() {
Gson gson = new Gson();
return gson.toJson(this);
}
public void toJsonFile(String filePath) {
Gson gson = new Gson();
String jsonStr = gson.toJson(this);
try {
FileWriter writer = new FileWriter(filePath);
writer.write(jsonStr);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class Test {
public static void main(String[] args) {
Person person = new Person("小明", 18, "男");
person.toJsonFile("person.json");
}
}
在上面的代碼中,我們新建了一個(gè)Person類(lèi),并實(shí)現(xiàn)了toJsonString和toJsonFile兩個(gè)方法。其中toJsonString方法將Person對(duì)象轉(zhuǎn)成json字符串,toJsonFile方法則將Person對(duì)象解析成json格式后存儲(chǔ)到指定的文件中。
運(yùn)行以上程序后,會(huì)在當(dāng)前目錄下生成一個(gè)名為person.json的文件,其中內(nèi)容如下:
{
"name": "小明",
"age": 18,
"gender": "男"
}
可以看到,Person對(duì)象中的三個(gè)屬性被成功地解析成了對(duì)應(yīng)的json格式。