当前位置: 首页 > 编程笔记 >

如何在Java中使用flexjson将JSON反序列化为Java对象?

符正信
2023-03-14
本文向大家介绍如何在Java中使用flexjson将JSON反序列化为Java对象?,包括了如何在Java中使用flexjson将JSON反序列化为Java对象?的使用技巧和注意事项,需要的朋友参考一下

Flexjson 是一个轻量级 的库序列化 反序列化 Java对象和从JSON格式允许两个对象的深与浅拷贝。为了使用flexjon运行Java程序,我们需要导入一个flexjson 。我们可以使用JSONDeserializer类的deserialize  ()方法将JSON反序列化为Java对象,它将JSON字符串作为输入,并从该JSON表示形式生成静态类型的对象图。默认情况下,它使用json数据中的class属性,以将未类型化的通用json数据映射到特定的Java类型。

语法

public T deserialize(String input)

在下面的程序中,将JSON反序列化为Java对象

示例

import flexjson.*;
public class DeserializeJSONTest {
   public static void main(String[] args) {
      JSONDeserializer<Student> deserializer = new JSONDeserializer<Student>();
      String jsonStr =
                  "{" +
                  "\"firstName\": \"Ravi\"," +
                  "\"lastName\": \"Chandra\"," +
                  "\"age\": 35," +                  "\"class\": \"Student\"," +                  "\"salary\": 50000.00," +
                  "}";
      Student student = deserializer.deserialize(jsonStr);
      System.out.println(student);
   }
}
// Student classclass Student {
   private String firstName;
   private String lastName;
   private int age;
   private double salary;
   public Student() {}
   public Student(String firstName, String lastName, int age, double salary) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.salary = salary;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public double getSalary() {
      return salary;
   }
   public void setSalary(double salary) {
      this.salary = salary;
   }
   public String toString() {
      return "Student[ " +
      "firstName = " + firstName +
      ", lastName = " + lastName +
      ", age = " + age +
      ", salary = " + salary +
      " ]";
   }
}

输出结果

Student[ firstName = Ravi, lastName = Chandra, age = 35, salary = 50000.0 ]
 类似资料:
  • 本文向大家介绍如何在Java中使用flexjson从Reader Stream反序列化Java对象?,包括了如何在Java中使用flexjson从Reader Stream反序列化Java对象?的使用技巧和注意事项,需要的朋友参考一下 该Flexjson 是一个轻量级 的序列化和反序列化Java对象和从JSON格式的库。我们可以使用JSONDeserializer类的deserialize  ()

  • 有没有办法将一般对象序列化为Json并将Json反序列化为对象<如果对象是一个实体,我可以使用Jackson 2库来实现这个目的<但是如果对象是一个普通类,我该怎么做呢? 例如,我想序列化com.datastax.driver.core.querybuilder。将更新为Json并保存到DB,然后搜索并反序列化它以更新对象,最后将其用作com.datastax.driver.core.Sessio

  • 本文向大家介绍我们如何在Java中使用flexjson序列化对象列表?,包括了我们如何在Java中使用flexjson序列化对象列表?的使用技巧和注意事项,需要的朋友参考一下 该Flexjson 是一个轻量级的库序列化 和反序列化 Java对象到 和从 JSON 格式。我们可以使用JSONSerializer 类的serialize()方法来序列化 对象列表。此方法可以对目标实例执行浅 序列化。我

  • 鉴于这种反应: 我怎样才能将数据属性反序列化为像这样的 MapDTO 我已经尝试使用自定义反序列化器,但是按名称获取所有属性,然后基于这些属性和嵌套对象创建一个新的MapDTO对象看起来很麻烦。如果结构发生变化,我必须更改反序列化器和DTO本身。让Jackson从给定的根开始进行反序列化会更容易。我使用Jackson 2.12.4到ResAs的4.4.0。我想避免创建不必要的包装类。

  • 本文向大家介绍我们如何在Java中使用flexjson序列化对象数组?,包括了我们如何在Java中使用flexjson序列化对象数组?的使用技巧和注意事项,需要的朋友参考一下 该Flexjson 是一个轻量级 的库序列化 和反序列化 Java对象和从JSON格式。我们还可以使用JSONSerializer 类的 serialize()方法来序列化 对象数组,这将对目标实例执行浅层序列化。 语法 在

  • 问题内容: 我有由第三方编码为固定长度数组的json’ed 元组数组: 我想使用json魔术来获取的实例列表 请帮助我放置适当的注释,以使ObjectMapper发挥作用。 我无法控制传入的格式,而我所有的google’n都以答案来回答如何将适当的json对象(而非数组)数组映射到对象列表 问题答案: 添加以下注释: 并且它应该根据需要序列化条目。 另外:然后使用它来强制执行特定顺序是最安全的,因