找到 2637 篇文章 适用于 Java

如何在 Java 中定义 JSON 字段名的命名约定?

raja
更新于 2020-02-14 06:58:38

2K+ 次浏览

FieldNamingPolicy 可用于为 JSON 字段名定义一些标准命名约定,它可以与 GsonBuilder 结合使用来配置 Gson 实例以正确地将 Java 字段名转换为所需的 JSON 字段名。我们可以使用 GsonBuilder 的 setFieldNamingPolicy() 方法在序列化和反序列化期间将特定的命名策略配置到对象的字段。Gson 支持以下字段命名策略的各种字段命名要求FieldNamingPolicy.IDENTITY:在序列化对象时,它使用与 Java 模型完全相同的命名。FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES:它将 Java 字段名从驼峰式形式修改为小写字段名,其中... 阅读更多

如何在 Java 中的 Gson 序列化过程中排除字段?

raja
更新于 2020-07-06 07:36:24

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; ... 阅读更多

Java 中 Gson 的 fromJson() 和 toJson() 方法的区别?

raja
更新于 2020-07-06 07:38:10

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 ... 阅读更多

如何在 Java 中使用 flexjson 序列化对象数组?

raja
更新于 2020-07-06 07:08:44

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, ... 阅读更多

如何在 Java 中将 JSON 反序列化到现有对象中?

raja
更新于 2020-07-06 07:04:40

3K+ 次浏览

Flexjson 是一个轻量级的 Java 库,用于以 JSON 格式序列化和反序列化 Java bean、映射、数组和集合。我们还可以使用 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 = ... 阅读更多

如何在 Java 中使用 @Expose 注解从 JSON 中排除字段?

raja
更新于 2020-07-06 06:52:49

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 {   ... 阅读更多

如何在 Java 中使用 Gson 流式 API 读取和写入文件?

raja
更新于 2020-07-06 06:24:19

911 次浏览

我们可以使用 Gson 流式 API 读取和写入文件,它基于顺序读写标准。JsonWriter 和 JsonReader 是为流式写入和读取而在流式 API 中构建的核心类。JsonWriter 将 JSON 编码值一次写入一个标记到流中。该流包括文字值(字符串、数字、布尔值和空值)以及对象和数组的开始和结束分隔符,而 JsonReader 将 JSON 编码值读取为标记流。此流包括文字值(字符串、数字、布尔值和空值)以及对象和数组的开始和结束分隔符。... 阅读更多

如何在 Java 中将 JSON 解析为 Gson 树模型?

raja
更新于 2020-07-06 06:04:59

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); ... 阅读更多

如何在 Java 中使用 Jackson 更改 JSON 中的字段名?

raja
更新于 2020-07-06 06:06:00

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 ... 阅读更多

如何在 Java 中使用 Jackson 库忽略 null 和空字段?

raja
更新于 2020-07-06 05:57:50

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 ... 阅读更多

广告