如何使用Gson将嵌套的内部类进行序列化?

2026-05-16 00:301阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计501个文字,预计阅读时间需要3分钟。

如何使用Gson将嵌套的内部类进行序列化?

1. Gson处理成员内部类

1.1 编写核心类MainApp

javapackage com.yiidian.gson;

import com.google.gson.Gson;

public class MainApp { public static void main(String[] args) { Student student=new Student(); student.setRollNo(1); Gson gson=new Gson(); String json=gson.toJson(student); System.out.println(json); }}

1 Gson处理成员内部类

1.1 编写核心类

MainApp:

package com.yiidian.gson; import com.google.gson.Gson; public class MainApp { public static void main(String args[]) { Student student = new Student(); student.setRollNo(1); Student.Name name = student.new Name(); name.firstName = "Mahesh"; name.lastName = "Kumar"; student.setName(name); Gson gson = new Gson(); //序列化 String jsonString = gson.toJson(student); System.out.println(jsonString); //反序列化 student = gson.fromJson(jsonString, Student.class); System.out.println("Roll No: "+ student.getRollNo()); System.out.println("First Name: "+ student.getName().firstName); System.out.println("Last Name: "+ student.getName().lastName); String nameString = gson.toJson(name); System.out.println(nameString); name = gson.fromJson(nameString,Student.Name.class); System.out.println(name.getClass()); System.out.println("First Name: "+ name.firstName); System.out.println("Last Name: "+ name.lastName); } } class Student { private int rollNo; private Name name; public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } //成员内部类 class Name { public String firstName; public String lastName; } }

1.2 运行测试

2 Gson处理静态内部类

2.1 编写核心类

MainApp:

package com.yiidian.gson; import com.google.gson.Gson; public class MainApp { public static void main(String args[]) { Student student = new Student(); student.setRollNo(1); Student.Name name = new Student.Name(); name.firstName = "Mahesh"; name.lastName = "Kumar"; student.setName(name); Gson gson = new Gson(); String jsonString = gson.toJson(student); System.out.println(jsonString); student = gson.fromJson(jsonString, Student.class); System.out.println("Roll No: "+ student.getRollNo()); System.out.println("First Name: "+ student.getName().firstName); System.out.println("Last Name: "+ student.getName().lastName); String nameString = gson.toJson(name); System.out.println(nameString); name = gson.fromJson(nameString,Student.Name.class); System.out.println(name.getClass()); System.out.println("First Name: "+ name.firstName); System.out.println("Last Name: "+ name.lastName); } } class Student { private int rollNo; private Name name; public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } //静态内部类 static class Name { public String firstName; public String lastName; } }

2.2 运行测试

以上就是Gson如何序列化内部类的详细内容,更多关于gson 序列化的资料请关注易盾网络其它相关文章!

如何使用Gson将嵌套的内部类进行序列化?

本文共计501个文字,预计阅读时间需要3分钟。

如何使用Gson将嵌套的内部类进行序列化?

1. Gson处理成员内部类

1.1 编写核心类MainApp

javapackage com.yiidian.gson;

import com.google.gson.Gson;

public class MainApp { public static void main(String[] args) { Student student=new Student(); student.setRollNo(1); Gson gson=new Gson(); String json=gson.toJson(student); System.out.println(json); }}

1 Gson处理成员内部类

1.1 编写核心类

MainApp:

package com.yiidian.gson; import com.google.gson.Gson; public class MainApp { public static void main(String args[]) { Student student = new Student(); student.setRollNo(1); Student.Name name = student.new Name(); name.firstName = "Mahesh"; name.lastName = "Kumar"; student.setName(name); Gson gson = new Gson(); //序列化 String jsonString = gson.toJson(student); System.out.println(jsonString); //反序列化 student = gson.fromJson(jsonString, Student.class); System.out.println("Roll No: "+ student.getRollNo()); System.out.println("First Name: "+ student.getName().firstName); System.out.println("Last Name: "+ student.getName().lastName); String nameString = gson.toJson(name); System.out.println(nameString); name = gson.fromJson(nameString,Student.Name.class); System.out.println(name.getClass()); System.out.println("First Name: "+ name.firstName); System.out.println("Last Name: "+ name.lastName); } } class Student { private int rollNo; private Name name; public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } //成员内部类 class Name { public String firstName; public String lastName; } }

1.2 运行测试

2 Gson处理静态内部类

2.1 编写核心类

MainApp:

package com.yiidian.gson; import com.google.gson.Gson; public class MainApp { public static void main(String args[]) { Student student = new Student(); student.setRollNo(1); Student.Name name = new Student.Name(); name.firstName = "Mahesh"; name.lastName = "Kumar"; student.setName(name); Gson gson = new Gson(); String jsonString = gson.toJson(student); System.out.println(jsonString); student = gson.fromJson(jsonString, Student.class); System.out.println("Roll No: "+ student.getRollNo()); System.out.println("First Name: "+ student.getName().firstName); System.out.println("Last Name: "+ student.getName().lastName); String nameString = gson.toJson(name); System.out.println(nameString); name = gson.fromJson(nameString,Student.Name.class); System.out.println(name.getClass()); System.out.println("First Name: "+ name.firstName); System.out.println("Last Name: "+ name.lastName); } } class Student { private int rollNo; private Name name; public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } //静态内部类 static class Name { public String firstName; public String lastName; } }

2.2 运行测试

以上就是Gson如何序列化内部类的详细内容,更多关于gson 序列化的资料请关注易盾网络其它相关文章!

如何使用Gson将嵌套的内部类进行序列化?