微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Groovy JsonBuilder将Java对象转换为JSON

我正在尝试使用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 POJO,因此需要为您拥有的两个属性添加getter,即public String getName()和public String getAge().

JsonBuilder利用DefaultGroovyMethods.getProperties获取对象属性.如果不添加上述吸气剂,它将找不到任何属性,因此生成的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(普通的旧Groovy对象),则认情况下会为每个属性添加吸气剂,因此它可以直接使用:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐