【问题标题】:Convert Java Object to JSON using Groovy JsonBuilder使用 Groovy JsonBuilder 将 Java 对象转换为 JSON
【发布时间】:2015-09-16 09:11:52
【问题描述】:

我正在尝试使用 Groovy JsonBuilder 将 Java 对象转换为 JSON

Java POJO 类

public class Employee {

    String name;

    int age;

    @Override
    public String toString() {
        return "Employee{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

Groovy 脚本

Employee employee = new Employee();
employee.name="Vinod"
employee.age=24

println new JsonBuilder( employee ).toPrettyString()

输出

{

}

我不确定我是否错误地使用了 JsonBuilder。请帮忙

【问题讨论】:

    标签: java json groovy


    【解决方案1】:

    由于您使用的是 Java POJO,因此您需要为您拥有的两个属性添加 getters,即 public String getName()public String getAge()

    JsonBuilder 利用DefaultGroovyMethods.getProperties 来获取对象属性。如果您不添加上述 getter,它将找不到任何属性,因此生成的 JSON 为空。

    这样:

    Employee.java

    public class Employee {
        String name;
        int age;
    
        public String getName() {
            return name;
        }
    
        public int getAge() {
            return age;
        }
    
        @Override
        public String toString() {
            return String.format("Employee{name=%s, age=%d}", name, age);
        }
    }
    

    如果您改用 POGO(Plain Old Groovy 对象),则默认为每个属性添加 getters,因此它开箱即用:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2011-10-17
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多