找到 2637 篇文章 关于 Java
2K+ 浏览量
FieldNamingPolicy 可以用来定义一些 JSON 字段名称的标准命名约定,它可以与 GsonBuilder 结合使用来配置 Gson 实例,以正确地将 Java 字段名称转换为所需的 JSON 字段名称。我们可以使用 GsonBuilder 的 setFieldNamingPolicy() 方法在序列化和反序列化期间将特定的命名策略配置到对象的字段。Gson 支持以下字段命名策略的各种字段命名要求FieldNamingPolicy.IDENTITY:在序列化对象时,它使用与 Java 模型完全相同的名称。FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES:它将 Java 字段名称从驼峰式形式修改为小写字段名称,其中... 阅读更多
550 浏览量
Gson 库提供了一种简单的方法来使用 transient 修饰符从序列化中排除字段。如果我们将 Java 类中的一个字段设为 transient,那么 Gson 就可以忽略它,无论是在序列化还是反序列化中。示例import com.google.gson.*; public class GsonTransientFieldTest { public static void main(String[] args) { Gson gson = new GsonBuilder().setPrettyPrinting().create(); Person p = new Person("Raja", "Ramesh", 28, 35000.00); String jsonStr = gson.toJson(p); System.out.println(jsonStr); } } //Person 类 class Person { private String firstName; private transient String lastName; private int age; private transient double salary; ... 阅读更多
4K+ 浏览量
Gson 是一个 Java 库,可用于生成 JSON。我们可以使用 Gson 的 fromJson() 方法将 JSON 字符串解析为 Java 对象,并使用 Gson 的 toJson() 方法将 Java 对象转换为 JSON 字符串。fromJson() 方法有两个参数,第一个参数是要解析的 JSON 字符串,第二个参数是要解析 JSON 字符串的 Java 类。我们可以将一个参数传递给 toJson() 方法,即要转换为 JSON 字符串的 Java 对象。fromJson() 的语法public fromJson(java.lang.String json, java.lang.Class classOfT) throws ... 阅读更多
381 浏览量
Flexjson 是一个轻量级的库,用于将 Java 对象序列化和反序列化为 JSON 格式。我们还可以使用 JSONSerializer 类的 serialize() 方法序列化对象数组,它执行目标实例的浅序列化。语法public String serialize(Object target)在下面的程序中,我们需要序列化一个对象数组。示例import flexjson.JSONSerializer; public class JsonSerializeArrayTest { public static void main(String[] args) { JSONSerializer serializer = new JSONSerializer().prettyPrint(true); Student stud1 = new Student("Adithya", "Sai", 28, "Hyderabad"); Student stud2 = new Student("Jai", "Dev", 30, "Chennai"); Student stud3 = new Student("Ravi", "Chandra", 35, ... 阅读更多
3K+ 浏览量
Flexjson 是一个轻量级的 Java 库,用于将 Java Bean、Map、数组和集合序列化和反序列化为 JSON 格式。我们还可以使用 JSONDeserializer 类的 deserializeInto() 方法将 JSON 字符串反序列化到现有对象中,此方法将给定的输入反序列化到现有对象目标中。json 输入中的值可以覆盖目标对象中的值。这意味着如果 JSON 中包含一个值,则可以创建一个新对象并将其设置为现有对象。语法public T deserializeInto(String input, T target)示例import flexjson.JSONDeserializer; public class JsonDeserializeTest { public static void main(String[] args) { Employee emp = ... 阅读更多
3K+ 浏览量
Gson 的 @Expose 注解可用于标记一个字段是否应公开(包含或不包含)以进行序列化或反序列化。@Expose 注解可以接受两个参数,每个参数都是一个布尔值,可以取 true 或 false 值。为了让 GSON 对 @Expose 注解做出反应,我们必须使用 GsonBuilder 类创建一个 Gson 实例,并需要调用 excludeFieldsWithoutExposeAnnotation() 方法,它将 Gson 配置为排除所有未包含 Expose 注解的字段,以供序列化或反序列化考虑。语法public GsonBuilder excludeFieldsWithoutExposeAnnotation()示例import com.google.gson.*; import com.google.gson.annotations.*; public class JsonExcludeAnnotationTest { ... 阅读更多
2K+ 浏览量
Gson 库可用于将 JSON 字符串解析为树模型。我们可以使用 JsonParser 将 JSON 字符串解析为 JsonElement 类型的树模型。JsonElement 的 getAsJsonObject() 方法可用于将元素作为 JsonObject 获取,而 JsonElement 的 getAsJsonArray() 方法可用于将元素作为 JsonArray 获取。语法public JsonObject getAsJsonObject() public JsonArray getAsJsonArray()示例import java.util.List; import com.google.gson.*; public class JsonTreeModelTest { public static void main(String args[]){ String jsonStr = "{\"name\":\"Adithya\", \"age\":20, \"year of passout\":2005, \"subjects\": [\"MATHEMATICS\", \"PHYSICS\", \"CHEMISTRY\"]}"; JsonParser jsonParser = new JsonParser(); JsonElement jsonElement = jsonParser.parse(jsonStr); ... 阅读更多
4K+ 浏览量
Jackson 注解 @JsonProperty 用于在 JSON 的序列化或反序列化期间使用在属性或方法上。它接受一个可选的“name”参数,如果属性名称与 JSON 中的“key”名称不同,则此参数很有用。默认情况下,如果键名称与属性名称匹配,则值将映射到属性值。在下面的示例中,我们可以使用 @JsonProperty 注解更改 JSON 中的字段名称。示例import java.io.IOException; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.annotation.JsonProperty; public class JsonPropertyAnnotationTest { public static void main(String[] args) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); User user = new ... 阅读更多
2K+ 浏览量
Jackson 是一个 Java 库,它具有非常强大的数据绑定功能,并提供了一个框架来将自定义 Java 对象序列化为 JSON,以及将 JSON 反序列化回 Java 对象。Jackson 库提供了 @JsonInclude 注解,该注解根据序列化期间的值控制整个类的序列化或其各个字段的序列化。@JsonInclude 注解包含以下两个值:Include.NON_NULL:表示只有非空值的属性才会包含在 JSON 中。Include.NON_EMPTY:表示只有非空属性才会包含在 JSON 中。示例:import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; public class IgnoreNullAndEmptyFieldTest ... 阅读更多