找到 2637 篇文章 关于 Java

如何在 Java 中对 JSONObject 进行排序?

raja
更新于 2020年2月18日 10:07:15

5K+ 次查看

JSONObject 是一个无序的键值对集合,其值可以是以下任何类型:布尔值、JSONArray、JSONObject、数字和字符串。JSONObject 的构造函数可用于将外部形式的 JSON 文本转换为内部形式,其值可以通过 get() 和 opt() 方法检索,或使用 put() 和 toString() 方法将值转换为 JSON 文本。在下面的示例中,我们可以按降序对 JSONObject 的值进行排序。示例import org.json.*; import java.util.*; public class JSonObjectSortingTest {    public static void main(String[] args) {       ... 阅读更多

在 Java 中使用 Jackson 的 @JacksonInject 注解有什么作用?

raja
更新于 2020年7月6日 13:35:24

525 次查看

Jackson 的 @JacksonInject 注解可用于将值注入解析的对象中,而不是从 JSON 中读取这些值。为了将值注入字段,我们可以使用 InjectableValues 类,并且需要配置 ObjectMapper 类以同时读取 InjectableValues 类中的注入值和 JSON 字符串中的其余值。语法@Target(value={ANNOTATION_TYPE, METHOD, FIELD, PARAMETER}) @Retention(value=RUNTIME) public @interface JacksonInject示例import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JacksonInjectTest {    public static void main(String args[]) throws IOException {       String jsonString = "{\"empName\": \"Raja Ramesh\"}";       InjectableValues injectableValues = new InjectableValues.Std().addValue(int.class, 110); ... 阅读更多

如何在 Java 中使用 Jackson 忽略序列化过程中的类?

raja
更新于 2020年7月6日 13:29:57

2K+ 次查看

Jackson 的 @JsonIgnoreType 注解可用于在序列化过程中忽略类,它可以将类的所有属性或字段标记为在序列化和反序列化 JSON 对象时忽略。语法@Target(value={ANNOTATION_TYPE, TYPE}) @Retention(value=RUNTIME) public @interface JsonIgnoreType示例import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JsonIgnoreTypeTest {    public static void main(String args[]) throws IOException {       Employee emp = new Employee();       ObjectMapper mapper = new ObjectMapper();       String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp);       System.out.println(jsonString);    } } // Employee 类 class Employee {    @JsonIgnoreType    public static class Address {   ... 阅读更多

如何在 Java 中将 JSON 字符串添加到现有的 JSON 文件中?

raja
更新于 2020年7月6日 13:21:04

6K+ 次查看

Gson 是一个用于 Java 的 json 库,可用于生成 JSON。在第一步中,我们可以读取 JSON 文件并将其解析为 Java 对象,然后需要将 Java 对象类型转换为 JSonObject 并解析为 JsonArray。然后迭代此 JSON 数组以打印 JsonElement。我们可以创建一个 JsonWriter 类,一次一个令牌地将 JSON 编码的值写入流。最后,可以将新的 JSON 字符串写入现有的 json 文件。示例import java.io.*; import java.util.*; import com.google.gson.*; import com.google.gson.stream.*; import com.google.gson.annotations.*; public class JSONFilewriteTest {   ... 阅读更多

何时在 Java 中使用 @JsonAutoDetect 注解?

raja
更新于 2020年7月6日 13:16:17

4K+ 次查看

@JsonAutoDetect 注解可以在类级别使用,以覆盖序列化和反序列化期间类的属性的可见性。我们可以使用“creatorVisibility”、“fieldVisibility”、“getterVisibility”、“setterVisibility”和“isGetterVisibility”等属性设置可见性。JsonAutoDetect 类可以定义与 Java 类可见性级别类似的公共静态常量,例如“ANY”、“DEFAULT”、“NON_PRIVATE”、“NONE”、“PROTECTED_AND_PRIVATE”和“PUBLIC_ONLY”。示例import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JsonAutoDetectTest {    public static void main(String[] args) throws IOException {       Address address = new Address("Madhapur", "Hyderabad", "Telangana");       Name name = new Name("Raja", "Ramesh");       Student student ... 阅读更多

如何在 Java 中使用 Gson 重命名 JSON 的属性?

raja
更新于 2020年7月6日 13:17:10

3K+ 次查看

Gson 的 @SerializedName 注解可以序列化为 JSON,并使用提供的 name 值作为其字段名。此注解可以覆盖任何 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(); // 美化打印       String jsonStr = gson.toJson(emp);       System.out.println(jsonStr);    } ... 阅读更多

如何在 Java 中忽略 JSON 对象的多个属性?

raja
更新于 2020年7月6日 13:18:16

3K+ 次查看

Jackson 的 @JsonIgnoreProperties 注解可用于指定要忽略的类的属性或字段列表。@JsonIgnoreProperties 注解可以放在类声明上方,而不是放在要忽略的各个属性或字段上方。语法@Target(value={ANNOTATION_TYPE, TYPE, METHOD, CONSTRUCTOR, FIELD}) @Retention(value=RUNTIME) public @interface JsonIgnoreProperties示例import java.io.*; import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; public class JsonIgnorePropertiesTest {    public static void main(String[] args) throws IOException {       Customer customer = new Customer("120", "Ravi", "Hyderabad");       System.out.println(customer);       ObjectMapper mapper = new ObjectMapper();       String jsonString = mapper.writeValueAsString(customer);       System.out.println("JSON: " + jsonString);     ... 阅读更多

如何在 Java 中将 JSON 字符串序列化到 Output Handler?

raja
更新于 2020年7月6日 13:11:16

553 次查看

Flexjson 是一个轻量级的库,用于将 Java 对象序列化和反序列化为 JSON 格式。JSONSerializer 是执行 Java 对象到 JSON 序列化的主要类。我们可以使用 WriterOutputHandler 类将 JSON 字符串序列化到 Output Handler,它实现了 OutputHandler 接口。语法public class WriterOutputHandler extends Object implements OutputHandler示例import java.io.*; import flexjson.JSONSerializer; import flexjson.OutputHandler; import flexjson.WriterOutputHandler; public class JsonOutputHandlerTest {    public static void main(String[] args) {       JSONSerializer serializer = new JSONSerializer().prettyPrint(true); // 美化打印 JSON       Employee emp = new Employee("Raja", "Ramesh", 28, "Hyderabad");       OutputHandler out = new WriterOutputHandler(new ... 阅读更多

如何在 Java 中使用 Jackson 库忽略 JSON 对象的字段?

raja
更新于 2020年7月6日 13:12:32

8K+ 次查看

Jackson 的 @JsonIgnore 注解可以用于忽略 Java 对象的某个属性或字段。在将 JSON 读取到 Java 对象时以及将 Java 对象写入 JSON 时,都可以忽略该属性。我们可以使用 ObjectMapper 类的 readValue() 和 writeValueAsString() 方法将 JSON 读取到 Java 对象,并将 Java 对象写入 JSON。语法@Target(value={ANNOTATION_TYPE, METHOD, CONSTRUCTOR, FIELD}) @Retention(value=RUNTIME) public @interface JsonIgnoreExampleimport java.io.*; import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; public class JsonIgnoreTest {    public static void main(String[] args) throws IOException {       Customer customer = new Customer("110", "Surya Kiran", "Chennai");       System.out.println(customer); ... 阅读更多

如何在 Java 中使用 @JsonCreator 注解反序列化 JSON 字符串?

raja
更新于 2020年2月17日 08:18:20

866 次浏览

@JsonProperty 注解可以用于指示 JSON 中的属性名称。此注解可以用于构造函数或工厂方法。@JsonCreator 注解在无法使用 @JsonSetter 注解的情况下很有用。例如,不可变对象没有任何 setter 方法,因此需要将其初始值注入到构造函数中。@JsonProperty - 构造函数示例import com.fasterxml.jackson.annotation.*; import java.io.IOException; import com.fasterxml.jackson.databind.*; public class JsonCreatorTest1 {    public static void main(String[] args) throws IOException {       ObjectMapper om = new ObjectMapper();       String jsonString = "{\"id\":\"101\", \"fullname\":\"Ravi Chandra\", \"location\":\"Pune\"}";       System.out.println("JSON: " + jsonString);   ... 阅读更多

广告