如何使用 Java 中的 Gson 重命名 JSON 属性?
Gson @SerializedName 注解可以序列化为 JSON,其字段名称为提供的名称值。此注解可以覆盖任何FieldNamingPolicy,包括可能已设置在Gson实例上的默认字段命名策略。可以使用 GsonBuilder 类设置其他命名策略。
语法
@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface SerializedName
示例
import com.google.gson.annotations.*; import com.google.gson.*; public class SerializedNameAnnotationTest { public static void main(String args[]) { Employee emp = new Employee("Rahul", "Dev", 30, "Nagpur"); Gson gson = new GsonBuilder().setPrettyPrinting().create(); // pretty print String jsonStr = gson.toJson(emp); System.out.println(jsonStr); } } // Employee class class Employee { @SerializedName("first_name") private String firstName; @SerializedName("last_name") private String lastName; private int age; private String address; public Employee() { } public Employee(String firstName, String lastName, int age, String address) { super(); this.firstName = firstName; this.lastName = lastName; this.age = age; this.address = address; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } public String getAddress() { return address; } }
输出
{ "first_name": "Rahul", "last_name": "Dev", "age": 30, "address": "Nagpur" }
广告