我正在尝试使用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对象),则默认情况下会为每个属性添加吸气剂,因此它可以直接使用:
原文地址:https://codeday.me/bug/20191119/2038344.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。